@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:optional}:root{--bg: #0a0a0a;--surface: #111111;--text: #e0e0e0;--text-dim: #666666;--text-bright: #ffffff;--accent: #f26217;--accent-hover: #ff7a33;--font: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;--max-w: 720px;--gap: 1.5rem;--radius: 4px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh;display:flex;flex-direction:column}img{display:block;max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gap)}main{flex:1;padding:4rem 0 2rem}.site-nav{border-bottom:1px solid var(--surface);padding:1rem 0}.site-nav .container{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.site-nav__home{color:var(--accent);font-weight:700;font-size:.9rem}.site-nav__home:hover{text-decoration:none;color:var(--accent-hover)}.site-nav__links{display:flex;gap:1rem;list-style:none}.site-nav__links a{color:var(--text-dim);font-size:.85rem}.site-nav__links a:hover,.site-nav__links a[aria-current=page]{color:var(--accent)}.site-nav__links li:before{content:"/";color:var(--text-dim);opacity:.5}.site-footer{border-top:1px solid var(--surface);padding:1.5rem 0;text-align:center;color:var(--text-dim);font-size:.8rem}h1,h2,h3{color:var(--text-bright);font-weight:700;line-height:1.3}.page-title{font-size:1.4rem;margin-top:1.5rem;margin-bottom:1.5rem}.page-title:before{content:"$ ";color:var(--accent)}.page-title:after{content:"█";color:var(--accent);animation:blink 1s step-end infinite;margin-left:.3ch}@keyframes blink{50%{opacity:0}}.card{background:var(--surface);border-radius:var(--radius);padding:var(--gap)}.btn{display:inline-flex;align-items:center;gap:.5ch;background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s}.btn:hover{background:var(--accent-hover);text-decoration:none;color:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--outline{background:transparent;border:1px solid var(--accent);color:var(--accent)}.btn--outline:hover{background:var(--accent);color:var(--bg)}.btn--small{padding:.3rem .6rem;font-size:.8rem}.btn--danger{background:#dc2626}.btn--danger:hover{background:#ef4444}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.3rem}.form-group label:before{content:"$ ";color:var(--accent);opacity:.6}input[type=text],input[type=email],input[type=password],input[type=url],textarea{width:100%;background:var(--bg);border:1px solid #333;border-radius:var(--radius);padding:.5rem .75rem;font-size:.9rem;color:var(--text);transition:border-color .15s}input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{min-height:120px;resize:vertical}.status{padding:.75rem 1rem;border-radius:var(--radius);font-size:.85rem;margin-bottom:1rem}.status--success{background:#052e16;color:#4ade80;border:1px solid #166534}.status--error{background:#2a0a0a;color:#f87171;border:1px solid #7f1d1d}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem}@media(min-width:768px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media(min-width:1024px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}.photo-grid__item{cursor:pointer;border-radius:var(--radius);overflow:hidden;aspect-ratio:1;background:var(--surface)}.photo-grid__item img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.photo-grid__item:hover img{opacity:.8}.lightbox{position:fixed;inset:0;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;padding:2rem}.lightbox img{max-width:90vw;max-height:80vh;border-radius:var(--radius)}.lightbox__caption{color:var(--text-dim);font-size:.85rem;margin-top:1rem;text-align:center}.lightbox__close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer}.lightbox__close:hover{color:var(--text)}.link-list{display:flex;flex-direction:column;gap:.75rem}.link-item{background:var(--surface);padding:1rem;border-radius:var(--radius);border-left:3px solid var(--accent)}.link-item__title{font-weight:700;color:var(--accent)}.link-item__url{font-size:.8rem;color:var(--text-dim);word-break:break-all}.link-item__desc{font-size:.85rem;color:var(--text);margin-top:.3rem}.markdown-content h2{font-size:1.2rem;margin:1.5rem 0 .5rem}.markdown-content h3{font-size:1rem;margin:1rem 0 .5rem}.markdown-content p{margin-bottom:.75rem}.markdown-content ul,.markdown-content ol{margin:.5rem 0 .75rem 1.5rem}.markdown-content li{margin-bottom:.25rem}.markdown-content code{background:var(--surface);padding:.15em .4em;border-radius:3px;font-size:.9em}.markdown-content pre{background:var(--surface);padding:1rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:.75rem}.markdown-content pre code{background:none;padding:0}.markdown-content blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--text-dim);margin-bottom:.75rem}.markdown-content a{color:var(--accent)}.markdown-content hr{border:none;border-top:1px solid #333;margin:1.5rem 0}.tabs{display:flex;gap:0;border-bottom:1px solid #333;margin-bottom:1.5rem}.tab{padding:.6rem 1.2rem;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.85rem;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab--active{color:var(--accent);border-bottom-color:var(--accent)}.empty{text-align:center;color:var(--text-dim);padding:3rem 1rem;font-size:.9rem}.home-hero{padding:4rem 0 2rem}.home-hero__name{font-size:2rem;color:var(--accent);font-weight:700}.home-hero__tagline{font-size:1rem;color:var(--text-dim);margin-top:.5rem}.home-nav{margin-top:2.5rem;display:flex;flex-direction:column;gap:.5rem}.home-nav a{color:var(--text);font-size:.95rem}.home-nav a:before{content:"→ ";color:var(--accent)}.home-nav a:hover{color:var(--accent);text-decoration:none}
