:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#6b4f3a;text-decoration:inherit}a:hover{color:#563f2d}a:focus,a:focus-visible{outline:4px auto #6b4f3a}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#6b4f3a}button:focus,button:focus-visible{outline:4px auto #6b4f3a}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#8a6b51}button{background-color:#f9f9f9}}.loader{position:absolute;top:29%;margin-left:-50px;left:50%;animation:speeder .4s linear infinite}.loader>span{height:5px;width:35px;background:#000;position:absolute;top:-19px;left:60px;border-radius:2px 10px 1px 0}.base span{position:absolute;width:0;height:0;border-top:6px solid transparent;border-right:100px solid #000;border-bottom:6px solid transparent}.base span:before{content:"";height:22px;width:22px;border-radius:50%;background:#000;position:absolute;right:-110px;top:-16px}.base span:after{content:"";position:absolute;width:0;height:0;border-top:0 solid transparent;border-right:55px solid #000;border-bottom:16px solid transparent;top:-16px;right:-98px}.face{position:absolute;height:12px;width:20px;background:#000;border-radius:20px 20px 0 0;transform:rotate(-40deg);right:-125px;top:-15px}.face:after{content:"";height:12px;width:12px;background:#000;right:4px;top:7px;position:absolute;transform:rotate(40deg);transform-origin:50% 50%;border-radius:0 0 0 2px}.loader>span>span:nth-child(1),.loader>span>span:nth-child(2),.loader>span>span:nth-child(3),.loader>span>span:nth-child(4){width:30px;height:1px;background:#000;position:absolute;animation:fazer1 .2s linear infinite}.loader>span>span:nth-child(2){top:3px;animation:fazer2 .4s linear infinite}.loader>span>span:nth-child(3){top:1px;animation:fazer3 .4s linear infinite;animation-delay:-1s}.loader>span>span:nth-child(4){top:4px;animation:fazer4 1s linear infinite;animation-delay:-1s}@keyframes fazer1{0%{left:0}to{left:-80px;opacity:0}}@keyframes fazer2{0%{left:0}to{left:-100px;opacity:0}}@keyframes fazer3{0%{left:0}to{left:-50px;opacity:0}}@keyframes fazer4{0%{left:0}to{left:-150px;opacity:0}}@keyframes speeder{0%{transform:translate(2px,1px) rotate(0)}10%{transform:translate(-1px,-3px) rotate(-1deg)}20%{transform:translate(-2px) rotate(1deg)}30%{transform:translate(1px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,3px) rotate(-1deg)}60%{transform:translate(-1px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-2px,-1px) rotate(1deg)}90%{transform:translate(2px,1px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}.longfazers{position:absolute;width:1000%;margin-right:10rem;margin-left:10rem;height:10%}.longfazers span{position:absolute;height:2px;width:20%;background:#000}.longfazers span:nth-child(1){top:20%;animation:lf .6s linear infinite;animation-delay:-5s}.longfazers span:nth-child(2){top:40%;animation:lf2 .8s linear infinite;animation-delay:-1s}.longfazers span:nth-child(3){top:60%;animation:lf3 .6s linear infinite}.longfazers span:nth-child(4){top:80%;animation:lf4 .5s linear infinite;animation-delay:-3s}@keyframes lf{0%{left:100%}to{left:-100%;opacity:0}}@keyframes lf2{0%{left:100%}to{left:-100%;opacity:0}}@keyframes lf3{0%{left:100%}to{left:-100%;opacity:0}}@keyframes lf4{0%{left:100%}to{left:-100%;opacity:0}}.thought-header-inner{display:flex;gap:2.2rem;align-items:center;max-width:var(--blog-width);width:100%;justify-content:center}.thought-header-inner .coffee-mug{width:86px;height:100px;transform:translateY(2px)}.disclaimer{background:linear-gradient(180deg,#edd2bd2e,#fff9);border:1px solid color-mix(in srgb,var(--border-color) 60%,transparent);padding:.9rem 1rem;border-radius:12px;color:var(--text-main);max-width:min(85vw,720px);box-shadow:0 6px 18px #6b4f3a0a;font-size:.98rem;line-height:1.45}.disclaimer p{margin-top:.35rem;color:var(--text-secondary);font-weight:500}.coffee-mug__eye{box-shadow:inset 0 -1px #0000000f,0 0 0 4px #ffffff0f}.coffee-mug__pupil{box-shadow:inset -1px -1px #ffffff1f;position:relative}.coffee-mug__pupil:after{content:"";position:absolute;right:3px;top:3px;width:4px;height:4px;background:#ffffffe6;border-radius:50%;opacity:.95}.coffee-mug__book{position:absolute;left:48%;bottom:40%;width:58%;height:36%;background:linear-gradient(180deg,#fff,#f7f3ee);border-radius:6px;border:1px solid var(--border-color);box-shadow:0 6px 14px #2b200f0f;display:flex;z-index:2;overflow:hidden;transition:transform .3s cubic-bezier(.2,.9,.2,1),box-shadow .22s}.coffee-mug--reading:hover .coffee-mug__book{transform:translate(-50%) translateY(10%) rotate(0) scale(1.05);box-shadow:0 10px 24px #2b200f17}.coffee-mug__book .book-left{transform:rotateY(8deg);text-align:center;transform-origin:left center}.coffee-mug__book .book-right{transform:rotateY(-6deg);transform-origin:right center;text-align:center}.coffee-mug__book .book-right:before{position:absolute;inset:16% 12%;background-image:linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px);background-size:100% 8px;opacity:.7}.coffee-mug__book{z-index:2}.coffee-mug--reading .coffee-mug__handle{z-index:0}.disclaimer{padding:1rem 1.1rem}.disclaimer strong{color:var(--primary-dark);font-size:1.05rem;display:block;margin-bottom:.25rem}.search-wrapper{position:relative;display:inline-block;width:100%;max-width:520px}.search-wrapper:before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:1rem;color:color-mix(in srgb,var(--text-secondary) 60%,transparent);pointer-events:none}.blog-search{padding-left:10rem;left:50px}.blog-sort{transition:box-shadow .16s ease,transform .16s ease}.blog-sort:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2b200f0a}.thought-header-inner .coffee-mug{transform-origin:center;animation:mugEntrance .52s cubic-bezier(.2,.9,.2,1) both}@keyframes mugEntrance{0%{transform:translateY(6px) scale(.98);opacity:0}to{transform:translateY(2px) scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.blog-post-card{animation:slideUp .42s cubic-bezier(.22,.9,.22,1) both}.read-more{color:var(--primary-color);padding:.45rem .65rem;border-radius:8px;border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .16s ease}.read-more:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-dark);transform:translateY(-2px)}@media(max-width:680px){.thought-header-inner{flex-direction:column;gap:.6rem}.thought-header-inner .coffee-mug{width:70px;height:84px}.disclaimer{text-align:center}}.coffee-mug--reading{position:relative}.coffee-mug__handle{position:absolute;right:-12%;top:62%;width:22%;height:40%;border:8px solid var(--primary-color);border-left:0;border-radius:0 25px 25px 0;box-shadow:#372407;background:transparent;z-index:1}.thought-header-inner .coffee-mug__handle{right:-14%;top:58%;transform:scale(.92)}.coffee-mug--reading .coffee-mug__handle{right:-39%;top:29%;transform:rotate(-6deg) scale(.92);z-index:0}.coffee-mug__book{position:absolute;left:58%;bottom:-10%;transform:translate(-50%) translateY(-20%);width:58%;height:36%;background:linear-gradient(180deg,#fff,#f7f3ee);border-radius:6px;border:1px solid var(--border-color);box-shadow:0 6px 14px #2b200f0f;display:flex;z-index:2;overflow:hidden;transition:transform .3s cubic-bezier(.2,.9,.2,1),box-shadow .22s}.coffee-mug__book .book-left,.coffee-mug__book .book-right{flex:1 1 50%;height:100%}.coffee-mug__face{position:relative}.coffee-mug__smile,.thought-processes .coffee-mug__smile{position:absolute;left:50%;top:120%;width:20px;height:7px;transform:translate(-50%);border-bottom:1.6px solid rgba(255,255,255,.92);border-radius:0 0 75px 75px/0 0 100% 100%;opacity:.95;pointer-events:none}@media(max-width:680px){.coffee-mug__smile,.thought-processes .coffee-mug__smile{width:16px;height:6px;top:120%;border-bottom-width:1.2px}}@media(max-width:480px){.coffee-mug__smile,.thought-processes .coffee-mug__smile{width:14px!important;height:5px!important;top:120%!important;border-bottom-width:1px!important}}.coffee-mug__book .book-left{background:linear-gradient(90deg,#fadab7,#fff 40%);border-right:1px solid color-mix(in srgb,var(--border-color) 40%,transparent)}.coffee-mug__book .book-right{background:linear-gradient(90deg,#fff,#fadab7 60%)}.coffee-mug__book:after{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:2px;background:color-mix(in srgb,var(--border-color) 30%,transparent);transform:translate(-50%);opacity:.9}@media(max-width:680px){.coffee-mug__book{left:50%;bottom:14%;width:62%;height:30%;transform:translate(-50%) translateY(-18%)}.coffee-mug--reading .coffee-mug__handle{right:-16%;top:52px}}@media(max-width:480px){.thought-header-inner{display:flex;flex-direction:column;align-items:center;gap:5rem;margin-top:-5rem}.coffee-mug{margin-top:-5rem!important;scale:.6!important;gap:10rem}.disclaimer{top:0rem!important}.thought-header-inner .coffee-mug{width:84px!important;height:92px!important;margin-left:.4rem;margin-right:.4rem;transform:translateY(0)!important}.thought-header-inner .coffee-mug:before{display:none!important}.thought-header-inner .coffee-mug__handle{margin-right:-20px!important;margin-top:-20px!important;width:20px!important;height:34px!important;border-width:6px!important;transform:none!important;z-index:1!important}.coffee-mug--reading .coffee-mug__handle{right:-10px!important;top:46px!important;transform:rotate(-6deg) scale(.92)!important;z-index:1!important}.coffee-mug__book{left:50%!important;bottom:-6%!important;width:70%!important;height:36%!important;transform:translate(-50%) translateY(0)!important;z-index:3!important}.page-header .blog-controls{flex-direction:column;gap:.6rem;align-items:stretch}.blog-search{padding-left:3.6rem!important;padding-top:.9rem!important;padding-bottom:.9rem!important;font-size:1.02rem!important;border-radius:12px!important}}.project-modal-overlay{position:fixed;inset:0;background:#080604c7;-webkit-backdrop-filter:blur(4px) saturate(1.05);backdrop-filter:blur(4px) saturate(1.05);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;transition:background .18s ease}.project-modal{background:color-mix(in srgb,var(--bg, #fff) 94%,#ffffff 6%);color:var(--text-main);max-width:960px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;border-radius:12px;box-shadow:0 20px 40px #0b08062e;padding:1rem 1.25rem 1.5rem;border:1px solid color-mix(in srgb,var(--border-color, rgba(0, 0, 0, .06)) 36%,transparent)}.project-modal__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.project-modal__header{display:block;border-bottom:1px solid color-mix(in srgb,var(--border-color) 30%,transparent);padding-bottom:.6rem}.project-modal__header h2{margin:0;font-size:1.25rem}.project-modal__actions{display:flex;gap:.6rem;align-items:center}.project-modal__meta{margin:.6rem 0;display:block;text-align:left;padding-left:.15rem}.project-modal__content{padding-top:.6rem;color:var(--text-secondary);line-height:1.6}.project-modal__content h1,.project-modal__content h2,.project-modal__content h3{color:var(--text-main)}.project-modal__content h1{font-size:1.35rem;margin-top:.6rem}.project-modal__content h2{font-size:1.05rem;margin-top:.5rem}.project-modal__content h3{font-size:.95rem;margin-top:.4rem}.project-modal__content img{display:block!important;margin:1rem auto!important;max-width:90%!important;max-height:600px!important;height:auto!important;width:auto!important;object-fit:contain!important;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.project-modal .tags{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.project-modal .tag{margin:0;display:inline-block}@media(max-width:680px){.project-modal{padding:.8rem}.project-modal__header{width:100%}.project-modal__top{flex-direction:column-reverse;align-items:stretch;gap:.6rem}.project-modal__actions{display:flex;justify-content:flex-end;gap:.5rem}}.contact-card{background:var(--background-light);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);max-width:520px;margin:0 auto 2rem;padding:2rem;display:flex;border-radius:6px;transition:background .16s,color .16s,box-shadow .16s}.contact-social-link:hover{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #6b4f3a14}.about-card__image{--glow-color: linear-gradient( to left, var(--accent-color) 0%, var(--primary-color) 100% );padding:12px;position:relative;z-index:1;background:transparent;width:300px;height:300px;margin:0 auto;display:flex;align-items:center;justify-content:center}.about-card__image:after{position:absolute;content:"";top:0;left:0;z-index:-1;height:100%;width:100%;transform:scale(1.05);filter:blur(15px);background:var(--glow-color);transition:opacity .5s;opacity:.4}.about-card__image img{width:100%;height:100%;object-fit:contain;background:transparent;display:block;transition:transform .3s ease;padding:0;margin:0}.about-card__image:hover:after{opacity:.7}.about-card__image:hover img{transform:scale(1.12)}.social-links a{color:var(--primary-dark);text-decoration:none;margin-right:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:6px;transition:background .16s,color .16s,box-shadow .16s}.social-links a:hover{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #6b4f3a14}.about-card__content h2{margin-bottom:.5rem;color:var(--primary-dark);font-size:1.5rem}.about-intro{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem}:root{--primary-color: #6b4f3a;--primary-dark: #563f2d;--accent-color: #c9a57a;--text-main: #2b200f;--text-secondary: #5a4b3a;--background-light: #fbf7f2;--background-subtle: #f6efe7;--border-color: #e7d9cc;--shadow-sm: 0 1px 4px rgba(43, 32, 15, .06);--shadow-md: 0 8px 24px rgba(43, 32, 15, .09);--container-max-width: 1440px;--content-width: min(90vw, 1200px);--blog-width: min(85vw, 840px);--container-padding: clamp(1rem, 5vw, 2rem);--section-spacing: clamp(2rem, 8vh, 4rem);--mobile: 480px;--tablet: 768px;--desktop: 1024px}@keyframes steam{0%{transform:translateY(0) translate(-50%) scale(1);opacity:.4}50%{transform:translateY(-10px) translate(-60%) scale(1.2);opacity:.2}to{transform:translateY(-20px) translate(-50%) scale(1);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coffee-mug{position:relative;width:120px;height:140px;margin:2rem auto;animation:bounce 3s ease-in-out infinite;box-shadow:#372407}.coffee-mug__body{position:absolute;bottom:0;width:100px;height:80px;background:var(--primary-color);border-radius:10px 10px 50px 50px;display:flex;justify-content:center;align-items:center;box-shadow:#372407}.coffee-mug__handle{position:absolute;right:0;top:70px;width:25px;height:40px;border:8px solid var(--primary-color);border-left:0;border-radius:0 25px 25px 0;box-shadow:#372407}.coffee-mug__face{position:relative;color:var(--background-light);font-size:24px;box-shadow:#372407}.coffee-mug__face{display:flex;align-items:center;gap:10px;box-shadow:#372407}.coffee-mug__eye{width:20px;height:20px;border-radius:50%;background:var(--background-light);position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 -1px #0000000f}.coffee-mug__pupil{width:15px;height:15px;border-radius:50%;background:var(--primary-dark);display:block}.coffee-mug__eye:after{content:"";position:absolute;inset:0;background:var(--primary-color);transform-origin:center top;transform:scaleY(0);animation:coffeeBlink 5.5s infinite ease-in-out}@keyframes coffeeBlink{0%,92%{transform:scaleY(0)}94%{transform:scaleY(1)}96%{transform:scaleY(0)}to{transform:scaleY(0)}}.coffee-mug:hover .coffee-mug__eye:after{animation:coffeeBlinkHover .85s 1 ease-in-out}@keyframes coffeeBlinkHover{0%{transform:scaleY(0)}30%{transform:scaleY(1)}to{transform:scaleY(0)}}.coffee-mug__mouth{margin-top:30px;width:25px;height:10px;border-radius:0 0 34px 34px;background:#ffffffeb;transform:translateY(2px);box-shadow:inset 0 -1px #0000000f}.coffee-mug__steam{position:absolute;top:0;left:50%;width:15px;height:15px;background:var(--primary-color);border-radius:50%;opacity:0;filter:blur(4px);animation:steam 1.4s infinite}.coffee-mug__steam:nth-child(2){top:40px;left:35%;animation-delay:.4s}.coffee-mug__steam:nth-child(3){top:-25px;left:65%;animation-delay:.8s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-main);background-color:var(--background-light);line-height:1.5}#root{width:100%;display:flex;flex-direction:column;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.main-content{flex:1;width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--container-padding);background-color:var(--background-light)}.navigation{background-color:var(--background-light);padding:var(--container-padding);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color);width:100%}.navigation ul{list-style:none;margin:0 auto;padding:0;display:flex;justify-content:center;gap:clamp(1rem,4vw,2.5rem);max-width:var(--content-width);flex-wrap:wrap}.navigation a{color:var(--text-secondary);text-decoration:none;font-size:1.1rem;font-weight:500;transition:all .3s ease;padding:.5rem 0;position:relative}.navigation a:hover{color:var(--primary-color)}.navigation a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary-color);transition:width .3s ease}.navigation a:hover:after{width:100%}.navigation .nav-link{color:var(--text-secondary);text-decoration:none;font-size:1.1rem;font-weight:500;padding:.5rem 0;position:relative}.navigation .nav-link:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:3px;background-color:var(--primary-color);border-radius:2px;transition:width .24s ease,transform .24s ease}.navigation .nav-link:hover:after{width:100%}.navigation .nav-link--active{color:var(--primary-color)}.navigation .nav-link--active:after{width:100%;transform:translateY(0)}.home,.projects,.about,.contact,.thought-processes{width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--section-spacing) 0}h1{margin-bottom:2rem;color:#333}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1rem}.project-card{padding:1.25rem;border-radius:12px;background:var(--background-light);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;justify-content:space-between;transform:translateY(-6px);box-shadow:var(--shadow-md)}.project-card h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-main)}.project-excerpt{color:var(--text-secondary);margin-bottom:1rem}.project-actions{display:flex;gap:.75rem;align-items:center;margin-top:1rem}.project-tags{margin-left:auto;display:flex;gap:.5rem;align-items:center}.project-tags .tag{background:var(--background-subtle);color:var(--primary-dark);padding:.25rem .6rem;border-radius:999px;font-size:.85rem}.about-content,.project-card--compact{padding:.4rem;overflow:hidden;border-radius:10px;display:flex;flex-direction:column;gap:.4rem}.project-thumb{width:100%;height:220px;overflow:hidden;background:linear-gradient(180deg,var(--background-subtle),var(--background-light));display:flex;align-items:center;justify-content:center}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-thumb--placeholder{height:220px}.project-card__body{padding:.45rem .6rem .6rem}.project-title{font-size:.98rem;margin-bottom:.25rem}.project-excerpt{font-size:.88rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;text-overflow:ellipsis;margin-bottom:.35rem}.project-footer{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;justify-content:flex-start}.project-tags{margin:0 0 .35rem;display:flex;gap:.4rem;flex-wrap:wrap}.project-tags .tag{background:var(--background-subtle);color:var(--primary-dark);padding:.18rem .5rem;border-radius:999px;font-size:.78rem}.project-actions{display:flex;gap:.5rem;align-items:center;margin-top:0}.btn-small{padding:.35rem .55rem;font-size:.85rem}.btn-ghost{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.contact-content{line-height:1.6;color:#444}.card{padding:2em;border-radius:8px;background-color:#f5f5f5;transition:transform .3s ease}.card:hover{transform:translateY(-5px)}.blog-posts{display:grid;grid-template-columns:1fr;gap:var(--section-spacing);width:100%;max-width:var(--blog-width);margin:0 auto}.page-header{display:flex;flex-direction:column;gap:1.25rem;align-items:center;margin-bottom:1.5rem}.page-title{width:100%;max-width:var(--content-width);margin:0 auto 1.5rem}.page-title--center{text-align:center}.page-title--right{text-align:right}.blog-controls{display:flex;gap:1rem;align-items:center;width:100%;max-width:var(--blog-width);justify-content:center}.blog-search{flex:1 1 60%;max-width:520px;padding:.65rem .95rem;border:1px solid var(--border-color);border-radius:10px;font-size:1rem;background:var(--background-subtle);color:var(--text-main);transition:box-shadow .18s ease,border-color .18s ease}.blog-search::placeholder{color:color-mix(in srgb,var(--text-secondary) 60%,transparent)}.blog-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 6px 20px #6b4f3a14}.blog-sort{padding:.6rem .9rem;border-radius:10px;border:1px solid var(--border-color);background:#fff;font-size:.95rem;color:var(--text-main)}.blog-sort:focus{outline:none;border-color:var(--primary-color);box-shadow:0 6px 20px #6b4f3a0f}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.blog-post-card{padding:2rem;background:var(--background-light);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all .3s ease;text-align:left}.blog-post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.blog-post-card h2{margin:0 0 1rem;color:var(--text-main);font-size:1.75rem;font-weight:700;line-height:1.3}.post-meta{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;font-size:.95rem;color:var(--text-secondary)}.blog-post-card .post-meta{justify-content:space-between;gap:1rem}.blog-post-card .post-meta .tags{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:flex-start;flex:1 1 auto}.blog-post-card .post-meta time{white-space:nowrap;margin-left:1rem;flex:0 0 auto}.tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.tag{background:var(--background-subtle);color:var(--primary-dark);padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid color-mix(in srgb,var(--primary-color) 30%,var(--border-color));transition:transform .16s ease,background .16s ease,color .16s ease}.tag:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.excerpt{color:var(--text-secondary);margin:1.5rem 0;line-height:1.6;font-size:1.1rem}.read-more{display:inline-block;color:var(--primary-color);text-decoration:none;font-weight:600;padding:.5rem 0;position:relative}.read-more:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--primary-color);transition:width .3s ease}.read-more:hover:after{width:100%}.blog-post{width:100%;max-width:var(--blog-width);margin:0 auto;text-align:left;background:var(--background-light);padding:clamp(1.5rem,5vw,3rem);border-radius:12px;box-shadow:var(--shadow-sm)}.blog-post .post-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;font-size:.95rem;color:var(--text-secondary)}.blog-post .post-meta .tags{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:flex-start;flex:1 1 auto}.blog-post .post-meta time{white-space:nowrap;margin-left:1rem;flex:0 0 auto}.about-card{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:center;background:var(--background-light);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);max-width:var(--content-width);margin:0 auto 2rem}.about-card__content h2{margin-bottom:.5rem;color:var(--text-main)}.about-intro{color:var(--text-secondary);margin-bottom:1rem}.about-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn{display:inline-block;padding:.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600}.btn-primary{background:var(--primary-color);color:#fff;border:1px solid var(--primary-dark)}.social-links a{color:var(--text-secondary);text-decoration:none;margin-right:.75rem}.about-card__image{width:280px;height:280px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.about-card__image img{width:100%;height:100%;object-fit:cover;object-position:center 36%;display:block;border-radius:0}.about-card__image{--avatar-zoom: 1.1}.about-card__image img{transform-origin:center center;transform:scale(var(--avatar-zoom));transition:transform .2s ease}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(180deg,var(--background-subtle),#ffffff);border-radius:8px}@media(max-width:900px){.about-card{grid-template-columns:1fr}}.blog-post article header{margin-bottom:3rem;text-align:center}.blog-post article header h1{font-size:2.5rem;color:var(--text-main);margin-bottom:1rem;line-height:1.3}.post-content{line-height:1.8;color:var(--text-main);font-size:1.125rem}.post-content h1{font-size:2.25rem;color:var(--text-main);margin:3rem 0 1.5rem}.post-content h2{font-size:1.875rem;color:var(--text-main);margin:2.5rem 0 1.25rem}.post-content h3{font-size:1.5rem;color:var(--text-main);margin:2rem 0 1rem}.post-content p{margin-bottom:1.5rem;color:var(--text-main);line-height:1.8}.post-content img{max-width:100%;height:auto;border-radius:8px;margin:2.5rem 0;box-shadow:var(--shadow-md)}.post-content code{background:var(--background-subtle);padding:.2rem .4rem;border-radius:4px;font-size:.9em;color:var(--primary-dark);font-family:SF Mono,Consolas,Monaco,monospace}.post-content pre{background:var(--background-subtle);padding:1.5rem;border-radius:8px;overflow-x:auto;margin:2rem 0;border:1px solid var(--border-color)}.post-content pre code{background:none;padding:0;color:var(--text-main)}.post-content blockquote{border-left:4px solid var(--primary-color);margin:2rem 0;padding:1rem 0 1rem 2rem;color:var(--text-secondary);background:var(--background-subtle);border-radius:0 8px 8px 0;font-style:italic}@media(max-width:768px){html{font-size:14px}.projects-grid{grid-template-columns:1fr}.post-meta{flex-direction:column;gap:1rem;align-items:flex-start}.tags{justify-content:flex-start}}@media(max-width:480px){.navigation ul{flex-direction:column;align-items:center;gap:1rem}.blog-post-card{padding:1.5rem}.blog-post article header h1{font-size:2rem}}@media print{.navigation{display:none}.blog-post{box-shadow:none;padding:0}}.page-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#fbf7f299;z-index:2000}.coffee-highlight{font-size:1.35rem;font-weight:700;color:var(--primary-color);background:linear-gradient(90deg,var(--accent-color) 0%,#fffbe6 100%);border-radius:1.5em;box-shadow:0 2px 24px 0 var(--accent-color),0 0 .5em #c9a57a inset;padding:1.1em 2em;margin:2.5em auto 0;display:inline-block;letter-spacing:.04em;text-shadow:0 2px 8px #c9a57a,0 0 2px #fffbe6;animation:coffeePulse 2.2s infinite alternate;border:2px solid var(--primary-color)}@keyframes coffeePulse{0%{box-shadow:0 2px 24px 0 var(--accent-color),0 0 .5em #c9a57a inset}to{box-shadow:0 4px 32px 0 var(--primary-color),0 0 1em #c9a57a inset}}.loop.cubes{transform-style:preserve-3d;transform:rotateX(0) rotateY(0) translateZ(1.5625em) rotate(90deg)}@keyframes s{to{transform:scale3d(.2,.2,.2)}}.item{position:relative;margin:-1.5625em;width:3.125em;height:3.125em;transform-origin:50% 50% -1.5625em;box-shadow:0 0 .125em currentColor;background:currentColor;animation:s .6s cubic-bezier(.45,.03,.51,.95) infinite alternate}.item:before,.item:after{position:absolute;width:inherit;height:inherit;transform-origin:0 100%;box-shadow:inherit;background:currentColor;content:""}.item:before{bottom:100%;transform:rotateX(90deg)}.item:after{left:100%;transform:rotateY(90deg)}.item:nth-child(1){margin-top:6.25em;color:#5a3f2b;animation-delay:-1.2s}.item:nth-child(1):before{color:#806048}.item:nth-child(1):after{color:#a07a62}.item:nth-child(2){margin-top:3.125em;color:#674a34;animation-delay:-1s}.item:nth-child(2):before{color:#8a6b51}.item:nth-child(2):after{color:#b08a6b}.item:nth-child(3){margin-top:0;color:#76573f;animation-delay:-.8s}.item:nth-child(3):before{color:#9a7a62}.item:nth-child(3):after{color:#c4a686}.item:nth-child(4){margin-top:-3.125em;color:#8a6b51;animation-delay:-.6s}.item:nth-child(4):before{color:#b39373}.item:nth-child(4):after{color:#d4b08f}.item:nth-child(5){margin-top:-6.25em;color:#a07a62;animation-delay:-.4s}.item:nth-child(5):before{color:#c4a686}.item:nth-child(5):after{color:#e0c5a8}.item:nth-child(6){margin-top:-9.375em;color:#c9a57a;animation-delay:-.2s}.item:nth-child(6):before{color:#edd7b8}.item:nth-child(6):after{color:#f5e6cf}.project-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.project-modal{background:var(--background-light);border-radius:12px;max-width:90vw;max-height:90vh;width:100%;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-md);overflow:hidden;outline:none}.project-modal__top{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);gap:1rem;flex-wrap:wrap}.project-modal__meta{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.project-modal__actions{display:flex;gap:.75rem;flex-wrap:wrap}.project-modal__header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.project-modal__header h2{margin:0;color:var(--primary-dark);font-size:1.75rem}.project-modal__content{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem}.project-modal__content p{color:var(--text-secondary);line-height:1.6}.project-modal__image{display:block!important;margin:1rem auto!important;max-width:95%!important;width:auto!important;max-height:65vh!important;height:auto!important;object-fit:contain!important;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease;cursor:zoom-in}.project-modal__image:hover{transform:scale(1.02);box-shadow:0 6px 16px #00000026}@media(max-width:480px){.loop.cubes{transform:scale(.7) rotateX(-35deg) rotateY(-45deg) rotate(90deg)}}@media(max-width:480px){.thought-header-inner{align-items:center}.coffee-mug-home{scale:1.3;margin-top:3rem;max-height:8rem}.coffee-decor{max-height:1rem}.project-modal{max-width:95vw;max-height:85vh}.project-modal__content{padding:1rem}.project-modal__image{max-height:50vh!important}}
