:root{--bg:#f6f5f0;--panel:#fff;--titlebar:#ece9de;--ink:#1f2a24;--green:#1f7a4d;--dim:#5c6b62;--line:#dcd8cc;--amber:#a5680f;--amber-bg:#f2d9a8;--accent:#0f7a63;--link-blue:#1a6fae;--tag-bg:#eaf5ef;--muted:#7a8079;--font-mono:"Consolas", "SFMono-Regular", "Courier New", Courier, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-mono);margin:0;padding:0}a{color:inherit;text-decoration:none}.status-bar{background:var(--titlebar);color:var(--dim);border-bottom:1px solid var(--line)}.status-bar-inner{letter-spacing:1px;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;max-width:920px;margin:0 auto;padding:7px 40px;font-size:.72rem;display:grid}.status-left{justify-self:start;align-items:center;gap:10px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.red{background:#e5787f}.dot.yellow{background:#e0b35a}.dot.green{background:#7fbf8f}.status-center{justify-self:center}.status-right{justify-self:end;align-items:center;gap:6px;display:flex}.battery-icon{color:var(--dim)}#battery-fill{color:var(--green)}@media (width<=640px){.status-bar-inner{grid-template-columns:1fr;justify-items:center;gap:6px;padding:10px 24px 8px}.status-left,.status-right{justify-self:center}}.ribbon-inline{color:var(--ink);margin-bottom:22px;font-size:1.5rem;font-weight:700}.ribbon-inline:before{content:"# ";color:var(--amber)}.container{max-width:920px;margin:0 auto;padding:0 40px}.site-header{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;max-width:920px;margin:0 auto;padding:24px 40px;display:flex}.logo{color:var(--ink);font-size:1.1rem;font-weight:700}.logo:before{content:"~/ ";color:var(--dim)}nav.main-nav{gap:28px;font-size:.9rem;display:flex}nav.main-nav a{color:var(--dim)}nav.main-nav a:before{content:"[ ";color:#b7b19f}nav.main-nav a:after{content:" ]";color:#b7b19f}nav.main-nav a.active{color:var(--amber);font-weight:700}nav.main-nav a:hover{color:var(--accent)}.hero{text-align:left;border-bottom:1px dashed var(--line);max-width:1120px;margin:0 auto;padding:90px 40px 38px}.hero .prompt{color:var(--dim);margin-bottom:18px;font-size:.9rem}.hero .prompt:before{content:"$ ";color:var(--amber)}.hero h1{color:var(--ink);margin:0 0 24px;font-size:clamp(2rem,5vw,2.8rem);font-weight:700;line-height:1.3}.hero .cursor{background:var(--accent);vertical-align:baseline;width:11px;height:.82em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero p{color:var(--dim);max-width:640px;margin:0;font-size:1.05rem;line-height:1.8}.home-split{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);align-items:start;gap:40px;max-width:1120px;margin:0 auto;padding:64px 40px 48px;display:grid}.home-follow-wrap{max-width:1120px;margin:0 auto;padding:24px 40px 0}.home-follow-wrap .blog-subscribe-panel{margin:0}.home-posts .post-row{grid-template-columns:120px 1fr;gap:24px}.home-projects-list{flex-direction:column;gap:16px;display:flex}.home-project-card h2{font-size:1.05rem}.home-project-card p{font-size:.88rem}.posts-section{max-width:920px;margin:0 auto;padding:64px 40px 40px}.posts-header{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:20px;display:flex}.posts-header h2{color:var(--ink);margin:0;font-size:1.2rem}.posts-header h2:before{content:"// ";color:var(--dim)}.all-posts-link{color:var(--link-blue);font-size:.85rem;font-weight:700}.blog-subscribe-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 8px;padding:18px 20px;display:flex;position:relative}.blog-subscribe-panel strong{color:var(--ink);margin-bottom:5px;font-size:.9rem;display:block}.blog-subscribe-panel p{max-width:390px;color:var(--dim);margin:0;font-size:.78rem;line-height:1.5}.blog-subscribe-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.blog-subscribe-btn{border:1px solid var(--line);min-height:36px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.75rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.blog-subscribe-btn:hover{border-color:var(--link-blue);color:var(--link-blue)}.blog-subscribe-btn-primary{border-color:var(--link-blue);background:var(--link-blue);color:#fff}.blog-subscribe-btn-primary:hover{background:color-mix(in srgb, var(--link-blue) 85%, #000);color:#fff}.blog-subscribe-status{color:var(--green);font-size:.72rem;font-weight:700;position:absolute;bottom:-24px;right:20px}.post-row{border-bottom:1px dashed var(--line);grid-template-columns:140px 1fr;gap:32px;padding:32px 0;display:grid}.post-meta{flex-direction:column;gap:12px;display:flex}.post-date{color:var(--dim);font-size:.82rem}.post-date:before{content:"> ";color:var(--amber)}.post-tag{background:var(--tag-bg);border:1px solid var(--green);color:var(--green);letter-spacing:.3px;text-transform:lowercase;border-radius:2px;width:fit-content;padding:4px 11px;font-size:.7rem;font-weight:700;display:inline-block}.post-content h3{color:var(--ink);margin:0 0 12px;font-size:1.2rem;font-weight:700}.post-content h3 a:hover{color:var(--accent)}.post-content p{color:var(--dim);max-width:620px;margin:0 0 14px;font-size:.95rem;line-height:1.7}.read-time{color:var(--dim);font-size:.8rem}.ocean-hero{border-bottom:1px dashed var(--line);filter:saturate(.9);background:linear-gradient(120deg,#0e2f3d 0%,#1c5266 35%,#2c7d8f 55%,#4fa6ab 75%,#bfe3df 100%);width:100%;height:320px;position:relative;overflow:hidden}.ocean-hero img{object-fit:cover;width:100%;height:100%;display:block}footer{border-top:1px dashed var(--line);background:var(--panel)}.footer-columns{flex-wrap:wrap;gap:80px;max-width:920px;margin:0 auto;padding:56px 40px 28px;display:flex}.footer-columns h4{color:var(--link-blue);margin:0 0 18px;font-size:.9rem}.footer-columns h4:before{content:"// ";color:var(--dim)}.footer-columns a,.footer-columns span{color:var(--ink);margin-bottom:12px;font-size:.9rem;display:block}.footer-columns a:hover{color:var(--accent)}.footer-bottom{text-align:center;color:var(--dim);padding:20px 24px 44px;font-size:.78rem}.contact-wrap{max-width:680px;margin:0 auto;padding:80px 40px}.contact-eyebrow{color:var(--link-blue);letter-spacing:1px;margin-bottom:14px;font-size:.8rem;font-weight:700}.contact-wrap h1{color:var(--ink);margin:0 0 18px;font-size:3rem;font-weight:700}.contact-wrap>p{color:var(--amber);max-width:560px;font-size:1rem;line-height:1.7}.contact-divider{border:none;border-top:2px solid var(--ink);margin:28px 0 36px}.contact-form{gap:22px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-field label{letter-spacing:.5px;color:var(--ink);margin-bottom:10px;font-size:.75rem;font-weight:700;display:block}.form-field label .req{color:var(--link-blue)}.form-field input,.form-field textarea{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--font-mono);border-radius:2px;padding:12px 14px;font-size:.95rem}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);outline:none}.form-field textarea{resize:vertical;min-height:150px}.submit-btn{background:var(--amber-bg);color:#3a2a08;border:1px solid var(--amber);font-family:var(--font-mono);letter-spacing:.5px;cursor:pointer;border-radius:2px;justify-self:start;padding:14px 28px;font-size:.85rem;font-weight:700}.submit-btn:hover{background:var(--amber)}.contact-mail-label{letter-spacing:.5px;color:var(--ink);margin-bottom:12px;font-size:.75rem;font-weight:700}.contact-mail-address{color:var(--link-blue);word-break:break-all;margin-bottom:22px;font-size:1.25rem;font-weight:700;display:inline-block}.contact-mail-address:hover{color:var(--accent)}.contact-mail-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}a.contact-mail-btn{text-decoration:none;display:inline-block}.contact-copy-btn{color:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.5px;cursor:pointer;background:0 0;border-radius:2px;padding:14px 22px;font-size:.85rem;font-weight:700}.contact-copy-btn:hover{border-color:var(--link-blue);color:var(--link-blue)}.contact-copy-status{color:var(--green);margin-top:14px;font-size:.85rem;font-weight:700}.post-detail{max-width:720px;margin:0 auto;padding:80px 40px}.post-detail h1{color:var(--ink);margin:16px 0;font-size:2.1rem;font-weight:700;line-height:1.3}.post-detail .post-date{margin-bottom:20px}.post-detail-body{color:var(--ink);margin-top:32px;font-size:.95rem;line-height:1.85}.post-detail-body p{margin-bottom:22px}.post-detail-body strong{color:var(--ink);font-weight:800}.post-detail-body blockquote{border-left:3px solid var(--amber);background:color-mix(in srgb, var(--amber) 7%, var(--panel));color:var(--ink);margin:30px 0;padding:16px 20px}.post-detail-body blockquote p{margin:0}.post-detail-body h2{color:var(--ink);margin-top:44px;margin-bottom:18px;font-size:1.2rem}.post-detail-body h2:before{content:"// ";color:var(--dim)}.back-link{color:var(--link-blue);margin-bottom:36px;font-size:.9rem;font-weight:700;display:inline-block}.projects-wrap{max-width:920px;margin:0 auto;padding:80px 40px}.projects-eyebrow{color:var(--link-blue);letter-spacing:1px;margin-bottom:14px;font-size:.8rem;font-weight:700}.projects-wrap h1{color:var(--ink);margin:0;font-size:3rem;font-weight:700}.projects-divider{border:none;border-top:2px solid var(--ink);margin:28px 0 36px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel,#fff) 92%, var(--tag-bg));color:inherit;border-radius:10px;flex-direction:column;gap:14px;padding:0 0 22px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--link-blue) 45%, var(--line));box-shadow:0 10px 28px color-mix(in srgb, var(--ink) 8%, transparent);transform:translateY(-2px)}.project-image-wrap{aspect-ratio:16/9;background:color-mix(in srgb, var(--tag-bg) 70%, #fff);border-bottom:1px solid var(--line);overflow:hidden}.project-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.project-card h2{color:var(--ink);margin:0;padding:0 22px;font-size:1.25rem;line-height:1.35}.project-card p{color:var(--dim);flex:1;margin:0;padding:0 22px;font-size:.95rem;line-height:1.65}.project-cta{color:var(--link-blue);align-items:center;gap:8px;margin:8px 22px 0;font-size:.88rem;font-weight:700;display:inline-flex}@media (width<=900px){.home-split{grid-template-columns:1fr;gap:48px}}@media (width<=640px){.site-header{flex-direction:column;gap:16px;padding:20px 24px}.hero{padding:64px 24px 36px}.posts-section,.home-split{padding:40px 24px 24px}.home-follow-wrap{padding:24px 24px 0}.post-row,.home-posts .post-row{grid-template-columns:1fr;gap:14px}.footer-columns{gap:40px;padding:44px 24px 24px}.post-detail,.contact-wrap,.projects-wrap{padding:56px 24px}.form-row,.projects-grid{grid-template-columns:1fr}.projects-wrap h1{font-size:2.2rem}.posts-header{align-items:flex-start;gap:16px}.blog-subscribe-panel{flex-direction:column;align-items:flex-start}.blog-subscribe-actions{flex-wrap:wrap;width:100%}.blog-subscribe-btn{flex:auto}}
