body{font-family:alata,serif!important}.secondary-font,#secondary-font{font-family:alata,serif}.primary-font,#primary-font{font-family:alata,sans-serif}.default-font,#default-font{font-family:alata,sans-serif}header{z-index:10;position:relative}header .navbar .navbar-nav a{color:var(--text-color)!important}#theme-toggle{background-color:var(--background-color)!important;color:var(--text-color)!important}.navbar-toggler{border:none;outline:none;color:var(--text-color)}.navbar-toggler svg{fill:currentColor;color:var(--text-color)}.navbar-toggler:focus{box-shadow:0 0 0 .05em}.navbar-text{font-size:16px!important;opacity:.95}header .nav-link{transition:none!important}.navbar-brand{color:var(--primary-color)!important;opacity:.95}.navbar .nav-link:hover{color:var(--primary-color)!important}li>.dropdown-toggle:focus{color:var(--primary-color)!important}.dropdown-menu{overflow:auto;background-color:var(--background-color)!important;border-color:var(--text-secondary-color)!important}.dropdown-item:hover{background-color:var(--secondary-color)!important}.dropdown-item:focus,.dropdown-item:active{background-color:var(--secondary-color)!important}#search{border-radius:1rem!important;background-color:var(--secondary-color);color:var(--text-color);border-color:var(--background-color)!important;transition:none}#search:focus{box-shadow:0 0 10px rgba(0,0,0,.2)}#search-content{-ms-scroll-chaining:none;scrollbar-width:none;display:none;border-radius:1rem;box-shadow:0 0 10px rgba(0,0,0,.2);z-index:9999;width:10%;max-height:350px;background-color:var(--secondary-color)!important;position:absolute;overflow:scroll}#search-content::-webkit-scrollbar{display:none}#search-results>.card{background-color:initial!important;border:none;margin-bottom:10px}#search-results>.card :hover{border-radius:1rem!important;background-color:var(--background-color)!important;transition:.2s}#search-results .card a{opacity:.9;display:inline-block;text-decoration:none;color:var(--text-color)!important}#search-results .card a:hover{color:var(--primary-color)!important}footer a h5{color:var(--text-color)!important}footer a{text-decoration:none;color:var(--text-secondary-color)!important}footer a:hover{color:var(--primary-color)!important}footer .card{background-color:var(--secondary-color)!important;border-radius:.75rem;cursor:context-menu;overflow:hidden;border:none}footer .card:hover{transition:all .3s ease-out;box-shadow:0 8px 56px rgba(15,80,100,.16)}footer .card-text *{background-color:var(--secondary-color)!important}footer .card-footer{background-color:var(--background-color)!important;padding:.8em .7em;border:1px solid var(--secondary-color)}footer .card-footer a{color:var(--text-secondary-color)!important;border-color:var(--primary-color)!important;transition:none;background-color:var(--background-color)!important}footer .card-footer a:hover{color:var(--primary-color)!important;opacity:.8}footer .card-footer a:focus{box-shadow:none!important}footer .card>.card-header{padding:0!important;border:none!important;background-color:var(--secondary-color)!important}footer .card>.card-header .card-img-top{width:100%;height:250px!important;object-fit:cover;background-color:initial!important}.light>*{background-color:var(--background-color)!important;color:var(--text-color)!important}.dark{--background-color:var(--background-color-dark) !important;--secondary-background-color:var(--secondary-background-color-dark) !important;--text-color:var(--text-color-dark) !important;--text-secondary-color:var(--text-secondary-color-dark) !important;--primary-color:var(--primary-color-dark);--secondary-color:var(--secondary-color-dark)}.text-secondary{color:var(--text-secondary-color)!important}#theme-toggle:focus{outline:0}#theme-toggle svg{height:18px}button#theme-toggle{border:none;font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}body *::selection{color:var(--text-color)!important;background-color:var(--primary-color)!important}*,*::before,*::after{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}p{margin-top:0;margin-bottom:1rem}ul,ol{margin-top:0;margin-bottom:1rem}img,svg{vertical-align:middle}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}#projects .card.h-auto{min-height:200px!important;height:auto!important;box-shadow:none!important}#projects .card.h-auto:hover{box-shadow:none!important}#projects .card.h-auto .card-body{padding:1.5rem}#projects .btn-sm{padding:.375rem .75rem;font-size:.875rem}html,body{min-height:100vh;background-color:var(--background-color)!important}#content{min-height:100vh;background-color:var(--background-color)!important}#list-page{background-color:var(--background-color)!important}:root{--link-color:#0d6efd}.dark{--link-color:#58a6ff}#single article.page-content a{color:var(--link-color)!important}#single article.page-content a::after{background-color:var(--link-color)}#hero h1{font-size:clamp(40px,8vw,80px);color:var(--primary-color)!important}[hidden]{display:none!important}#home-page{--accent:#5eead4;--accent-strong:#34d399;--pink:#f472b6;--card-border:rgba(255, 255, 255, 0.07);--mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;background-color:var(--background-color);color:var(--text-color);min-height:100vh;padding:2rem 1.25rem 3rem;font-family:Alata,sans-serif}#home-page .home-container{max-width:1080px;margin:0 auto}#home-page a{text-decoration:none}#home-page .home-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:4rem}#home-page .home-brand{font-weight:700;color:var(--text-color)}#home-page .home-brand span{color:var(--accent)}#home-page .home-nav{display:flex;gap:1.5rem;font-family:var(--mono);font-size:.9rem}#home-page .home-nav a{color:var(--text-secondary-color)}#home-page .home-nav a:hover{color:var(--text-color)}#home-page .home-nav .home-nav-cta{color:var(--accent)}#home-page .home-nav .home-nav-cta:hover{color:var(--accent-strong)}#home-page .home-hero{display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:center;margin-bottom:5rem}#home-page .hero-eyebrow{font-family:var(--mono);color:var(--accent);font-size:.9rem;margin:0 0 .75rem}#home-page .hero-title{font-size:clamp(2.75rem,7vw,4.5rem);font-weight:700;line-height:1.05;margin:0 0 1.25rem}#home-page .hero-title span{color:var(--text-secondary-color)}#home-page .hero-desc{color:var(--text-secondary-color);max-width:30rem;margin:0 0 1.75rem}#home-page .hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}#home-page .hero-btn{font-family:var(--mono);background:var(--accent);color:#18191a;padding:.6rem 1.4rem;border-radius:.5rem;font-size:.9rem;transition:background .15s ease}#home-page .hero-btn:hover{background:var(--accent-strong);color:#18191a}#home-page .hero-social{display:flex;gap:1rem;font-family:var(--mono);font-size:.85rem}#home-page .hero-social a{color:var(--text-secondary-color)}#home-page .hero-social a:hover{color:var(--accent)}#home-page .hero-photo{display:flex;justify-content:center}#home-page .photo-card{position:relative;background:var(--secondary-background-color);border:1px solid var(--card-border);border-radius:.75rem;width:100%;max-width:340px;box-shadow:0 20px 50px rgba(0,0,0,.4)}#home-page .photo-titlebar{border-radius:.75rem .75rem 0 0}#home-page .photo-statusbar{border-radius:0 0 .75rem .75rem}#home-page .photo-titlebar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-bottom:1px solid var(--card-border)}#home-page .photo-titlebar .dot{width:10px;height:10px;border-radius:50%;display:inline-block}#home-page .dot-r{background:#ff5f57}#home-page .dot-y{background:#febc2e}#home-page .dot-g{background:#28c840}#home-page .photo-filename{font-family:var(--mono);font-size:.75rem;color:var(--text-secondary-color);margin-left:.5rem}#home-page .photo-card img{width:100%;height:auto;display:block;filter:grayscale(1);aspect-ratio:1/1;object-fit:cover}#home-page .photo-statusbar{display:flex;justify-content:space-between;padding:.6rem .9rem;font-family:var(--mono);font-size:.75rem;color:var(--text-secondary-color)}#home-page .photo-online{color:var(--accent)}#home-page .photo-hi{position:absolute;top:-.9rem;right:-.6rem;background:var(--accent);color:#18191a;font-family:var(--mono);font-size:.8rem;padding:.25rem .75rem;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.35)}#home-page .home-section{margin-bottom:4.5rem}#home-page .section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}#home-page .section-head h2{font-size:1.6rem;font-weight:700;margin:0}#home-page .section-link{font-family:var(--mono);font-size:.85rem;color:var(--accent)}#home-page .section-link:hover{color:var(--accent-strong)}#home-page .post-row{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 0;border-top:1px solid var(--card-border);color:var(--text-color)}#home-page .post-row:last-child{border-bottom:1px solid var(--card-border)}#home-page .post-thumb{width:125px;height:84px;object-fit:cover;border-radius:.5rem;flex-shrink:0}#home-page .post-thumb-fallback{display:block;background:repeating-linear-gradient(135deg,rgba(94,234,212,8%) 0 12px,transparent 12px 24px)}#home-page .post-info{flex:1;min-width:0}#home-page .post-info h3{font-size:1.15rem;font-weight:700;margin:0 0 .4rem}#home-page .post-meta{font-family:var(--mono);font-size:.8rem;color:var(--text-secondary-color);margin:0;display:flex;gap:.9rem}#home-page .post-tag{color:var(--accent-strong)}#home-page .post-arrow{color:var(--text-secondary-color);transition:transform .15s ease,color .15s ease}#home-page .post-row:hover .post-arrow{color:var(--accent);transform:translateX(4px)}#home-page .post-row:hover h3{color:var(--accent)}#home-page .pr-loading,#home-page .pr-error{font-family:var(--mono);font-size:.85rem;color:var(--text-secondary-color);padding:1rem 0}#home-page .pr-row{display:flex;align-items:center;gap:1.25rem;padding:1rem 0;border-top:1px solid var(--card-border);color:var(--text-color)}#home-page .pr-row:last-child{border-bottom:1px solid var(--card-border)}#home-page .pr-badge{font-family:var(--mono);font-size:.75rem;padding:.2rem .8rem;border-radius:999px;border:1px solid;flex-shrink:0;width:5.5rem;text-align:center}#home-page .pr-badge-merged{color:#a78bfa;border-color:rgba(167,139,250,.4)}#home-page .pr-badge-open{color:var(--accent-strong);border-color:rgba(52,211,153,.4)}#home-page .pr-badge-closed{color:#f87171;border-color:rgba(248,113,113,.4)}#home-page .pr-info{flex:1;min-width:0}#home-page .pr-info h3{font-size:1rem;font-weight:700;margin:0 0 .3rem}#home-page .pr-row:hover h3{color:var(--accent)}#home-page .pr-meta{font-family:var(--mono);font-size:.78rem;color:var(--text-secondary-color);margin:0;display:flex;gap:.9rem;flex-wrap:wrap}#home-page .home-cards{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;margin-bottom:4rem}#home-page .home-card{background:var(--secondary-background-color);border:1px solid var(--card-border);border-radius:.75rem;padding:2rem}#home-page .home-card h2{font-size:1.5rem;font-weight:700;margin:0 0 .75rem}#home-page .home-card p{color:var(--text-secondary-color);margin:0 0 1rem}#home-page .card-pinksky{background:radial-gradient(ellipse at bottom right,rgba(244,114,182,.12),transparent 60%),var(--secondary-background-color)}#home-page .card-pinksky h2 span{color:var(--pink)}#home-page .card-eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin:0 0 .75rem}#home-page .card-link{font-family:var(--mono);font-size:.85rem;color:var(--accent)}#home-page .card-pinksky .card-link{color:var(--pink)}#home-page .card-link:hover{opacity:.8}#home-page .home-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--card-border);font-family:var(--mono);font-size:.8rem;color:var(--text-secondary-color)}#home-page .footer-links{display:flex;gap:1.25rem}#home-page .footer-links a{color:var(--text-secondary-color)}#home-page .footer-links a:hover{color:var(--text-color)}#home-page .footer-links .footer-pinksky{color:var(--pink)}@media(max-width:900px){#home-page .home-hero{grid-template-columns:1fr;gap:2.5rem;margin-bottom:3.5rem}#home-page .hero-photo{order:-1}#home-page .home-cards{grid-template-columns:1fr}}@media(max-width:640px){#home-page .home-topbar{margin-bottom:2.5rem}#home-page .post-thumb{display:none}#home-page .pr-row{align-items:flex-start;flex-direction:column;gap:.5rem}#home-page .home-footer{flex-direction:column;gap:.75rem}}