@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600;700&family=Inter:wght@400;600;700&display=swap";.navbar{border-bottom:1px solid var(--color-green);z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#0a0a0af2;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand a{font-family:var(--font-mono);color:var(--color-green);text-transform:uppercase;font-size:1.5rem;font-weight:700}.nav-links{border-left:1px solid var(--color-green);border-bottom:1px solid var(--color-green);background-color:#0a0a0af2;border-bottom-left-radius:8px;flex-direction:column;align-items:flex-end;gap:1.5rem;min-width:200px;padding:1.5rem 2rem;display:none;position:absolute;top:100%;right:0}.nav-links.open{display:flex}.nav-links a{text-transform:uppercase;border-bottom:2px solid #0000;width:fit-content;padding-bottom:.25rem;font-size:.9rem}.nav-links a.active{color:var(--color-cyan);border-bottom:2px solid var(--color-cyan);text-shadow:0 0 5px var(--color-cyan)}.hamburger{color:var(--color-green);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:block}.site-footer{background-color:var(--color-bg);color:var(--color-green);font-family:var(--font-mono);z-index:1000;grid-template-columns:1fr auto 1fr;align-items:center;padding:.4rem 1rem;display:grid;position:fixed;bottom:0;left:0;right:0}.footer-left{justify-self:start;align-items:center;gap:.9rem;display:flex}.footer-policy-link{font-family:var(--font-mono);color:var(--color-green);text-shadow:none;opacity:.18;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.1rem;font-size:1.4rem;line-height:1;text-decoration:none;transition:opacity .3s,text-shadow .3s,color .3s}.footer-policy-link:hover,.footer-policy-link:focus{opacity:.55;color:var(--color-cyan);text-shadow:0 0 6px var(--color-cyan)}.footer-icon{vertical-align:middle;flex-shrink:0}.footer-reach-out{color:var(--color-green);font-family:var(--font-mono);cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.85rem;transition:opacity .15s,text-shadow .15s,color .15s;display:flex}.footer-reach-out:hover,.footer-reach-out:focus{opacity:1;box-shadow:none;text-shadow:0 0 6px var(--color-cyan);color:var(--color-cyan);border:none}.footer-cursor{animation:1s step-end infinite footer-blink}@keyframes footer-blink{0%,to{opacity:1}50%{opacity:0}}.footer-scroll-indicator{pointer-events:none;opacity:.7;flex-direction:row;justify-self:center;align-items:center;gap:.5rem;font-size:.85rem;transition:opacity .4s;display:flex}.footer-scroll-arrows{color:var(--color-cyan);flex-direction:row;gap:2px;font-size:1.2rem;animation:2s ease-in-out infinite footer-bounce;display:flex}@keyframes footer-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.footer-chat-btn{color:var(--color-green);font-family:var(--font-mono);cursor:pointer;opacity:.7;background:0 0;border:none;justify-self:end;align-items:center;gap:.4rem;padding:0;font-size:.85rem;transition:opacity .15s,text-shadow .15s,color .15s;display:flex}.footer-chat-btn:hover,.footer-chat-btn:focus{opacity:1;box-shadow:none;text-shadow:0 0 6px var(--color-cyan);color:var(--color-cyan);border:none}@media (width<=480px){.footer-btn-label{display:none}.footer-scroll-indicator{gap:.3rem;font-size:.7rem}.footer-scroll-arrows{font-size:.9rem}}.capture-game{width:100%;max-width:640px}.capture-instruction{font-family:var(--font-mono);color:var(--color-green);opacity:.7;margin-bottom:1rem;font-size:.8rem}.capture-prompt{color:var(--color-cyan)}.capture-arena{background:#00ff4105;border:1px dashed #00ff414d;height:180px;position:relative;overflow:hidden}.capture-arena.arena-captured{border-color:var(--color-magenta);box-shadow:inset 0 0 20px #ff00c81a}.black-hole{width:90px;height:90px;position:absolute;top:50%;right:50px;transform:translateY(-50%)}.bh-core{z-index:3;background:radial-gradient(circle,#000 55%,#120018 100%);border-radius:50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px 6px #000000f2,0 0 28px 14px #080010b3}.bh-label{font-family:var(--font-mono);color:var(--color-magenta);opacity:.6;white-space:nowrap;letter-spacing:2px;font-size:.6rem;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.bh-ring{border:2px solid #0000;border-radius:50%;position:absolute;top:50%;left:50%}.bh-ring-1{border-top-color:var(--color-amber);border-right-color:#ffb70040;width:46px;height:46px;margin:-23px;animation:1.4s linear infinite bh-spin}.bh-ring-2{border-bottom-color:var(--color-magenta);border-left-color:#ff00c833;width:68px;height:68px;margin:-34px;animation:2.6s linear infinite reverse bh-spin}.bh-ring-3{border-top-color:var(--color-cyan);border-right-color:#00fff51f;width:88px;height:88px;margin:-44px;animation:4.2s linear infinite bh-spin}.black-hole.hole-absorbing .bh-ring-1{animation-duration:.3s}.black-hole.hole-absorbing .bh-ring-2{animation-duration:.5s}.black-hole.hole-absorbing .bh-ring-3{animation-duration:.7s}.black-hole.hole-absorbing .bh-core{animation:.4s ease-in-out infinite alternate hole-pulse}@keyframes bh-spin{to{transform:rotate(360deg)}}@keyframes hole-pulse{0%{box-shadow:0 0 12px 6px #000000f2,0 0 28px 14px #080010b3}to{box-shadow:0 0 20px 10px #000000f2,0 0 50px 25px #ff00c84d}}.data-packet{border:1px solid var(--color-green);color:var(--color-green);font-family:var(--font-mono);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;text-shadow:0 0 6px var(--color-green);z-index:2;background:#00ff410d;padding:6px 14px;font-size:.78rem;transition:box-shadow .15s;position:absolute;box-shadow:0 0 6px #00ff4140}.data-packet:hover{box-shadow:0 0 12px #00ff4180,inset 0 0 6px #00ff4114}.data-packet.dragging{cursor:grabbing;border-color:var(--color-cyan);color:var(--color-cyan);text-shadow:0 0 6px var(--color-cyan);box-shadow:0 0 18px #00ff41cc,inset 0 0 6px #00ff411a}.packet-blink{animation:1s step-end infinite pkt-blink}@keyframes pkt-blink{0%,to{opacity:1}50%{opacity:0}}.capture-absorbing{font-family:var(--font-mono);color:var(--color-magenta);white-space:nowrap;font-size:.8rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (width<=600px){.capture-arena{height:160px}.black-hole{width:72px;height:72px;right:20px}.bh-ring-1{width:36px;height:36px;margin:-18px}.bh-ring-2{width:54px;height:54px;margin:-27px}.bh-ring-3{width:70px;height:70px;margin:-35px}.bh-core{width:22px;height:22px}}.modal-panel{z-index:1500;border:1px solid var(--color-green);filter:drop-shadow(0 8px 32px #0009);background:#050505;flex-direction:column;width:400px;max-width:calc(100vw - 3rem);max-height:calc(100vh - 5rem);animation:.18s ease-out contact-toast-in,8s infinite crt-flicker;display:flex;position:fixed;bottom:3rem;left:1.5rem;overflow:hidden;box-shadow:0 0 0 1px #00ff411a,0 0 40px #00ff4114,inset 0 0 60px #0009}.modal-panel:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000 0 2px,#0000002e 2px 4px);position:absolute;inset:0}.modal-panel:after{content:"";pointer-events:none;z-index:99;background:radial-gradient(#0000 60%,#00000080 100%);position:absolute;inset:0}.modal-titlebar{border-bottom:1px solid var(--color-amber);z-index:101;background:#00ff410a;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex;position:relative}.modal-titlebar-text{font-family:var(--font-mono);color:var(--color-amber);letter-spacing:2px;text-shadow:0 0 8px var(--color-amber);font-size:.8rem;font-weight:700}.tb-blink{color:var(--color-amber);animation:1s step-end infinite modal-blink}.modal-titlebar-meta{font-family:var(--font-mono);color:#00ff4166;letter-spacing:1px;flex:1;font-size:.65rem}.modal-close{color:#00ff4180;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #00ff414d;margin-left:auto;padding:2px 8px;font-size:.7rem;transition:all .15s}.modal-close:hover{border-color:var(--color-magenta);color:var(--color-magenta);text-shadow:0 0 6px var(--color-magenta);box-shadow:0 0 8px #ff00c866}.modal-body{z-index:101;scrollbar-width:thin;scrollbar-color:#00ff414d transparent;flex:1;padding:1.25rem 1.5rem 1.5rem;position:relative;overflow-y:auto}.boot-sequence{margin-bottom:1rem}.boot-sequence--compact{margin-bottom:.75rem}.boot-line{font-family:var(--font-mono);color:var(--color-green);text-shadow:0 0 4px #00ff4180;font-size:.78rem;line-height:1.8;animation:.1s ease-out boot-line-in}.boot-line--dim{opacity:.35}.boot-line--ok{color:var(--color-cyan);opacity:.8;text-shadow:0 0 4px #00fff566}.boot-cursor{font-family:var(--font-mono);color:var(--color-green);animation:.7s step-end infinite modal-blink;display:inline-block}.modal-divider{border:none;border-top:1px dashed #00ff4133;margin:.75rem 0 1rem}.modal-status{font-family:var(--font-mono);color:var(--color-cyan);text-shadow:0 0 6px #00fff566;margin-bottom:1rem;font-size:.8rem;line-height:1.8}.modal-sent{color:var(--color-green);text-shadow:0 0 8px #00ff4199;font-size:.85rem;line-height:2}.modal-error{color:var(--color-magenta);text-shadow:0 0 6px #ff00c880}.modal-hint{font-family:var(--font-mono);color:#00ff4159;margin-top:.25rem;font-size:.75rem}.modal-blink{animation:1s step-end infinite modal-blink}.contact-form{flex-direction:column;gap:1rem;display:flex}.cf-row{flex-direction:column;gap:.35rem;display:flex}.cf-row label{font-family:var(--font-mono);color:var(--color-amber);letter-spacing:3px;text-shadow:0 0 4px #ffb70066;font-size:.7rem}.cf-row input,.cf-row textarea{color:var(--color-green);font-family:var(--font-mono);resize:vertical;caret-color:var(--color-cyan);background:#00ff4105;border:1px solid #00ff4159;outline:none;padding:.5rem .75rem;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.cf-row input::placeholder,.cf-row textarea::placeholder{color:#00ff4133;letter-spacing:1px;font-size:.75rem}.cf-row input:focus,.cf-row textarea:focus{border-color:var(--color-cyan);box-shadow:0 0 10px #00fff533,inset 0 0 6px #00fff50a}.transmit-btn{border:1px solid var(--color-green);color:var(--color-green);font-family:var(--font-mono);letter-spacing:2px;cursor:pointer;text-shadow:0 0 6px #00ff4166;background:0 0;align-self:flex-start;margin-top:.25rem;padding:.5rem 1.25rem;font-size:.8rem;transition:all .15s}.transmit-btn:hover:not(:disabled){border-color:var(--color-cyan);color:var(--color-cyan);text-shadow:0 0 8px var(--color-cyan);box-shadow:0 0 14px #00fff54d,inset 0 0 6px #00fff50f}.transmit-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes contact-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crt-flicker{0%,92%,94%,96%,to{opacity:1}93%,95%{opacity:.96}}@keyframes boot-line-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes modal-blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=600px){.modal-panel{width:100%;max-width:100%;bottom:3rem;left:0;right:0}.modal-body{padding:1rem}.modal-titlebar{padding:.4rem .75rem}.modal-titlebar-meta{display:none}}.chat-window{border:1px solid var(--color-green);background:#050505;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00ff4114,0 0 40px #00ff410f,inset 0 0 60px #00000080}.chat-window:before{content:"";pointer-events:none;z-index:10;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);position:absolute;inset:0}.chat-titlebar{border-bottom:1px solid var(--color-amber);z-index:11;background:#00ff410a;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex;position:relative}.chat-titlebar-text{font-family:var(--font-mono);color:var(--color-amber);letter-spacing:2px;text-shadow:0 0 8px var(--color-amber);font-size:.8rem;font-weight:700}.chat-titlebar-meta{font-family:var(--font-mono);color:#00ff4166;letter-spacing:1px;flex:1;font-size:.65rem}.chat-titlebar-count{font-family:var(--font-mono);color:#00ff4159;letter-spacing:1px;font-size:.65rem}.chat-close-btn{color:#00ff4180;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #00ff414d;margin-left:auto;padding:2px 8px;font-size:.7rem;transition:all .15s}.chat-close-btn:hover{border-color:var(--color-magenta);color:var(--color-magenta);text-shadow:0 0 6px var(--color-magenta);box-shadow:0 0 8px #ff00c866}.chat-body{z-index:11;padding:1.25rem 1.5rem 1.5rem;position:relative}.chat-boot-line{font-family:var(--font-mono);color:var(--color-green);text-shadow:0 0 4px #00ff4180;font-size:.78rem;line-height:1.8;animation:.1s ease-out chat-line-in}.chat-boot-line--dim{opacity:.35}.chat-boot-line--ok{color:var(--color-cyan);opacity:.8;text-shadow:0 0 4px #00fff566}.chat-boot-cursor{font-family:var(--font-mono);color:var(--color-green);animation:.7s step-end infinite chat-blink;display:inline-block}.chat-divider{border:none;border-top:1px dashed #00ff4133;margin:.75rem 0 1rem}.chat-messages{scrollbar-width:thin;scrollbar-color:#00ff4140 transparent;flex-direction:column;gap:.4rem;height:260px;padding-right:.5rem;display:flex;overflow-y:auto}.chat-empty,.chat-fetch-error,.chat-hint{font-family:var(--font-mono);padding:.4rem 0;font-size:.75rem}.chat-empty{color:#00ff4159}.chat-fetch-error{color:var(--color-magenta);text-shadow:0 0 4px #ff00c84d}.chat-hint{color:#00ff4159;margin-top:.25rem}.chat-msg{font-family:var(--font-mono);align-items:baseline;gap:.6rem;padding:.15rem 0;font-size:.82rem;line-height:1.5;display:flex}.chat-msg-author{color:var(--color-amber);text-shadow:0 0 4px #ffb7004d;letter-spacing:.5px;flex-shrink:0;font-size:.75rem;font-weight:700}.chat-msg-time{color:#00ff4147;flex-shrink:0;font-size:.68rem}.chat-msg-text{color:var(--color-green);text-shadow:0 0 3px #00ff4126;word-break:break-word}.chat-compose{flex-direction:column;gap:1rem;display:flex}.chat-row{flex-direction:column;gap:.35rem;display:flex}.chat-row label{font-family:var(--font-mono);color:var(--color-amber);letter-spacing:3px;text-shadow:0 0 4px #ffb70066;font-size:.7rem}.chat-row input,.chat-row textarea{color:var(--color-green);font-family:var(--font-mono);resize:vertical;caret-color:var(--color-cyan);background:#00ff4105;border:1px solid #00ff4159;outline:none;padding:.5rem .75rem;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.chat-row input::placeholder,.chat-row textarea::placeholder{color:#00ff4133;letter-spacing:1px;font-size:.75rem}.chat-row input:focus,.chat-row textarea:focus{border-color:var(--color-cyan);box-shadow:0 0 10px #00fff526,inset 0 0 6px #00fff50a}.chat-status{font-family:var(--font-mono);font-size:.78rem}.chat-status--ok{color:var(--color-cyan);text-shadow:0 0 4px #00fff566}.chat-status--err{color:var(--color-magenta);text-shadow:0 0 4px #ff00c866}.chat-blink{animation:1s step-end infinite chat-blink}@keyframes chat-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes chat-line-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@media (width<=600px){.chat-body{padding:1rem}.chat-messages{height:200px}.chat-msg{flex-wrap:wrap;gap:.35rem}.chat-titlebar-meta{display:none}}.chat-toast{z-index:1500;filter:drop-shadow(0 8px 32px #0009);width:400px;max-width:calc(100vw - 3rem);animation:.18s ease-out chat-toast-in;position:fixed;bottom:3rem;right:1.5rem}@keyframes chat-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.chat-toast{width:100%;max-width:100%;bottom:3rem;left:0;right:0}}.section{min-height:50vh;padding:4rem 10vw}.section-title{border-bottom:1px solid var(--color-green);color:var(--color-green);text-shadow:0 0 2px var(--color-green);margin-bottom:3rem;padding-bottom:.5rem;display:inline-block}.terminal-card{background-color:#0a0a0acc;border:1px solid #00ff4180;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s;position:relative}.terminal-card:before{content:" ";pointer-events:none;border:1px solid #0000;transition:all .3s;position:absolute;inset:0}.terminal-card:hover{border-color:var(--color-cyan);box-shadow:0 0 15px #00fff533}.terminal-card:hover:before{border-color:var(--color-cyan);box-shadow:inset 0 0 10px #00fff533}.hobby-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.hobby-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.hobby-icon{font-size:1.5rem}.hobby-card h3{color:var(--color-amber);text-shadow:none;margin-bottom:0;font-size:1.1rem}.timeline{border-left:1px solid var(--color-green);flex-direction:column;margin-left:1rem;padding-left:2rem;display:flex;position:relative}.timeline-item{margin-bottom:2rem;position:relative}.timeline-item:before{content:" ";background-color:var(--color-green);width:.8rem;height:.8rem;box-shadow:0 0 5px var(--color-green);border-radius:50%;position:absolute;top:.2rem;left:-2.4rem}.timeline-date{font-family:var(--font-mono);color:var(--color-amber);margin-bottom:.25rem;font-size:.9rem;display:block}.timeline-title{font-family:var(--font-mono);color:var(--color-cyan);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.hero{scroll-snap-align:start;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:0;display:flex;position:relative}.hero-inner{flex-direction:row;align-items:stretch;width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(2rem,5vw,8rem);display:flex}.hero-logo-wrap{flex-shrink:0;align-items:center;width:50%;display:flex}.hero-logo{object-fit:contain;object-position:center;opacity:.9;width:100%;height:100%}.hero-text{flex-direction:column;justify-content:center;width:50%;display:flex}.hero-subtitle{font-family:var(--font-mono);color:var(--color-amber);margin-bottom:2rem;font-size:1rem}.cursor-blink{animation:1s step-end infinite blink}.hero-ctas{gap:1.5rem;display:flex}.glitch-container{margin-bottom:.5rem;display:inline-block;position:relative}.glitch-text{color:var(--color-cyan);text-shadow:0 0 10px var(--color-cyan);font-weight:700;position:relative}.glitch-large{letter-spacing:2px;text-transform:uppercase;font-size:2.4rem}.glitch-inline{letter-spacing:.5px;text-shadow:0 0 3px var(--color-cyan);text-transform:none;font-size:1.1rem}.glitch-small{letter-spacing:1px;text-transform:uppercase;opacity:.8;font-size:.75rem}.glitch-text:before,.glitch-text:after{content:attr(data-text);background:var(--color-bg);width:100%;height:100%;position:absolute;top:0;left:0}.glitch-large:before{text-shadow:2px 0 var(--color-magenta);animation:10s linear infinite alternate-reverse glitch-anim-1;left:-2px}.glitch-large:after{text-shadow:-2px 0 var(--color-cyan);animation:14s linear infinite alternate-reverse glitch-anim-2;left:2px}.glitch-inline:before{text-shadow:1px 0 var(--color-magenta);animation:12s linear infinite alternate-reverse glitch-anim-1;left:-1px}.glitch-inline:after{text-shadow:-1px 0 var(--color-cyan);animation:7s linear infinite alternate-reverse glitch-anim-2;left:1px}.glitch-small:before{text-shadow:1px 0 var(--color-magenta);animation:6s linear infinite alternate-reverse glitch-anim-1;left:-1px}.glitch-small:after{text-shadow:-1px 0 var(--color-cyan);animation:8s linear infinite alternate-reverse glitch-anim-2;left:1px}@media (width<=768px){.hero-inner{flex-direction:column;align-items:flex-start}.hero-logo-wrap{align-self:center;width:60%;margin-left:auto;margin-right:auto}.hero-logo{width:100%;height:auto}.hero-text{width:90%;margin-left:5%;margin-right:5%}.glitch-large{font-size:1.1rem}.glitch-inline{font-size:.85rem}.hero-subtitle{margin-bottom:1.25rem;font-size:.8rem}.hero-ctas{flex-direction:column;width:100%}.hero-ctas button{width:100%}}.tools-page{min-height:100vh;padding:8rem 10vw 4rem}.tools-header{margin-bottom:4rem}.tools-subtitle{color:var(--color-amber);font-family:var(--font-mono);margin-top:1rem}.tools-grid{grid-template-columns:1fr;gap:2rem;display:grid}.tool-card{flex-direction:column;height:100%;display:flex}.tool-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.tool-badge{font-family:var(--font-mono);border:1px solid;padding:.2rem .5rem;font-size:.8rem}.tool-badge.pending{color:var(--color-amber);border-color:var(--color-amber)}.tool-badge.web{color:var(--color-cyan);border-color:var(--color-cyan)}.tool-card-title{text-shadow:none;color:var(--color-green);margin:0}.tool-description{flex-grow:1;margin-bottom:1.5rem}.tool-embed-label{color:var(--color-amber);font-family:var(--font-mono);margin-top:1rem;margin-bottom:.4rem;font-size:.8rem}.tool-embed-snippet{border:1px solid #2a2a2a;border-left:3px solid var(--color-green);font-family:var(--font-mono);color:var(--color-green);white-space:pre;background:#0a0a0a;border-radius:4px;margin:0;padding:.75rem 1rem;font-size:.72rem;line-height:1.6;overflow-x:auto}.tool-action button{width:100%}.tool-widget-container{justify-content:center;margin-top:1.5rem;display:flex}.tool-action button:disabled{color:#555;cursor:not-allowed;box-shadow:none;border-color:#333}.tool-description--media{flex-direction:row;align-items:flex-start;gap:1.5rem;display:flex}.tool-screenshot{border:1px solid #00ff414d;flex-shrink:0;width:220px}.tool-description-text{flex-direction:column;gap:.75rem;display:flex}@media (width<=600px){.tool-description--media{flex-direction:column}.tool-screenshot{width:100%}}.projects-page{min-height:100vh;padding:8rem 10vw 4rem}.projects-header{scroll-snap-align:start;margin-bottom:4rem}.projects-subtitle{color:var(--color-amber);font-family:var(--font-mono);max-width:800px;margin-top:1rem;line-height:1.6}.projects-grid{flex-direction:column;gap:3rem;max-width:1000px;display:flex}.project-card{flex-direction:column;gap:1.5rem;display:flex;position:relative}.project-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-title-group{flex-direction:column;gap:.5rem;display:flex}.project-title{color:var(--color-cyan);text-shadow:0 0 5px #00fff566;margin-bottom:0;font-size:1.5rem}.status-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;border:1px solid;padding:.2rem .6rem;font-size:.75rem}.status-badge.wip{color:var(--color-amber);border-color:var(--color-amber);box-shadow:0 0 5px #ffb70033}.status-badge.beta{color:var(--color-cyan);border-color:var(--color-cyan);box-shadow:0 0 5px #00fff533}.status-badge.live{color:var(--color-green);border-color:var(--color-green);box-shadow:0 0 5px #00ff4133}.project-link{font-family:var(--font-mono);color:var(--color-green);border:1px solid var(--color-green);padding:.4rem .8rem;font-size:.85rem;transition:all .2s}.project-link:hover{background-color:var(--color-green);color:var(--color-bg);box-shadow:0 0 10px var(--color-green)}.project-body{display:block}.project-description p{color:#ccc;margin-bottom:1rem;line-height:1.6}.project-features{clear:left;margin-top:1.5rem}.project-features h4{color:var(--color-amber);margin-bottom:1rem;font-size:.9rem}.project-features ul{padding-left:0;list-style:none}.project-features li{font-family:var(--font-mono);color:var(--color-green);margin-bottom:.5rem;padding-left:1.2rem;font-size:.85rem;position:relative}.project-features li:before{content:">";color:var(--color-cyan);position:absolute;left:0}.project-card-image{float:right;border:1px solid var(--color-bg-light);border-radius:4px;max-width:40%;height:auto;margin-bottom:1.5rem;margin-left:2rem;box-shadow:4px 4px #ffb0004d}@media (width<=768px){.project-body{grid-template-columns:1fr}.project-card-image{float:none;width:100%;max-width:100%;margin-bottom:2rem;margin-left:0}}.privacy-page{min-height:100vh;padding-top:6rem;padding-bottom:6rem}.privacy-inner{width:100%;max-width:680px}.privacy-breadcrumb{opacity:.45;margin-bottom:2.5rem;font-size:.8rem;transition:opacity .2s}.privacy-breadcrumb:hover{opacity:.85}.privacy-breadcrumb a{color:var(--color-green);text-shadow:none;letter-spacing:.05em;font-size:.8rem;animation:none}.privacy-title{font-family:var(--font-mono);letter-spacing:2px;color:var(--color-green);text-shadow:0 0 2px var(--color-green);margin-bottom:2rem;font-size:1.1rem}.privacy-lead{font-family:var(--font-mono);color:var(--color-amber);opacity:.8;letter-spacing:.05em;margin-bottom:2rem;font-size:.85rem}.privacy-block{margin-bottom:2.5rem}.privacy-block p{font-family:var(--font-sans);color:var(--color-green);opacity:.75;margin-bottom:.75rem;font-size:.9rem;line-height:1.7}.privacy-section{border-top:1px solid #00ff411a;margin-bottom:2.5rem;padding-top:1.5rem}.privacy-section-title{font-family:var(--font-mono);color:var(--color-cyan);letter-spacing:.15em;text-shadow:none;opacity:.6;margin-bottom:1rem;font-size:.8rem}.privacy-section p{font-family:var(--font-sans);color:var(--color-green);opacity:.75;margin-bottom:.75rem;font-size:.9rem;line-height:1.7}.privacy-list{margin:1rem 0;padding:0;list-style:none}.privacy-list li{font-family:var(--font-sans);color:var(--color-green);opacity:.75;margin-bottom:.5rem;padding-left:1.2rem;font-size:.9rem;line-height:1.7;position:relative}.privacy-list li:before{content:"—";opacity:.4;font-family:var(--font-mono);position:absolute;left:0}.privacy-label{font-family:var(--font-mono);color:var(--color-amber);opacity:.7;letter-spacing:.05em;font-size:.78rem}.privacy-footer-note{font-family:var(--font-mono);color:var(--color-green);opacity:.3;margin-top:3rem}.privacy-cursor{animation:1s step-end infinite footer-blink}.privacy-inline-link{font-family:var(--font-sans);font-size:inherit;color:var(--color-cyan);text-shadow:0 0 5px var(--color-cyan);cursor:pointer;text-transform:none;letter-spacing:normal;opacity:.75;background:0 0;border:none;padding:0;transition:opacity .2s,text-shadow .2s;animation:9s infinite link-glitch}.privacy-inline-link:hover,.privacy-inline-link:focus{opacity:1;text-shadow:0 0 8px var(--color-cyan), -2px 0 var(--color-magenta), 2px 0 var(--color-cyan);box-shadow:none;color:var(--color-cyan);border:none}:root{--color-bg:#0a0a0a;--color-green:#00ff41;--color-amber:#ffb700;--color-cyan:#00fff5;--color-magenta:#ff00c8;--font-mono:"Fira Code", monospace;--font-sans:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:100px}body{background-color:var(--color-bg);color:var(--color-green);font-family:var(--font-sans);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:" ";z-index:9999;pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px;display:block;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);margin-bottom:1rem;font-weight:700}h1{color:var(--color-cyan);text-shadow:0 0 5px var(--color-cyan), 0 0 10px var(--color-cyan)}h2,h3{color:var(--color-green);text-shadow:0 0 2px var(--color-green)}a{color:var(--color-cyan);font-family:var(--font-mono);text-shadow:0 0 5px var(--color-cyan);text-decoration:none;animation:9s infinite link-glitch}a:hover,a:focus{text-shadow:0 0 8px var(--color-cyan), -2px 0 var(--color-magenta), 2px 0 var(--color-cyan)}button{border:1px solid var(--color-green);color:var(--color-green);font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;background:0 0;padding:.5rem 1rem;transition:all .2s}button:hover,button:focus{border-color:var(--color-cyan);color:var(--color-cyan);box-shadow:0 0 10px var(--color-cyan), inset 0 0 5px var(--color-cyan)}main{padding-bottom:3rem}hr{border:0;border-top:1px dashed var(--color-amber);margin:3rem 0}.section-panel{scroll-snap-align:start;flex-direction:column;justify-content:flex-start;align-items:flex-start;max-width:1400px;min-height:100vh;margin:0 auto;padding:10rem clamp(2rem,10vw,8rem) 6rem;display:flex;position:relative}.section-title{color:var(--color-green);letter-spacing:2px;margin-bottom:3rem;font-size:1.2rem}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes glitch-anim-1{0%{clip-path:inset(50%);transform:translate(0)}5%{clip-path:inset(20% 0 80%);transform:translate(-2px,1px)}7%{clip-path:inset(54% 0 21%);transform:translate(1px,-2px)}9%{clip-path:inset(50%);transform:translate(0)}30%{clip-path:inset(50%);transform:translate(0)}35%{clip-path:inset(11% 0 35%);transform:translate(-1px,2px)}37%{clip-path:inset(89% 0 4%);transform:translate(2px,1px)}40%{clip-path:inset(50%);transform:translate(0)}60%{clip-path:inset(50%);transform:translate(0)}65%{clip-path:inset(45% 0 25%);transform:translate(-2px,-1px)}67%{clip-path:inset(2% 0 68%);transform:translate(1px,2px)}70%{clip-path:inset(50%);transform:translate(0)}85%{clip-path:inset(76% 0 12%);transform:translate(-1px,-2px)}88%{clip-path:inset(33% 0 47%);transform:translate(2px,1px)}92%{clip-path:inset(50%);transform:translate(0)}to{clip-path:inset(30% 0 50%);transform:translate(1px,-1px)}}@keyframes glitch-anim-2{0%{clip-path:inset(50%);transform:translate(0)}10%{clip-path:inset(10% 0 60%);transform:translate(2px,-1px)}12%{clip-path:inset(42% 0 18%);transform:translate(-1px,2px)}15%{clip-path:inset(50%);transform:translate(0)}40%{clip-path:inset(50%);transform:translate(0)}45%{clip-path:inset(81% 0 3%);transform:translate(1px,-2px)}48%{clip-path:inset(23% 0 55%);transform:translate(-2px,1px)}52%{clip-path:inset(50%);transform:translate(0)}75%{clip-path:inset(67% 0 7%);transform:translate(2px,-1px)}77%{clip-path:inset(5% 0 85%);transform:translate(-1px,2px)}82%{clip-path:inset(50%);transform:translate(0)}95%{clip-path:inset(49% 0 31%);transform:translate(1px,-2px)}to{clip-path:inset(5% 0 80%);transform:translate(-2px,1px)}}@keyframes link-glitch{0%,90%,to{text-shadow:0 0 5px var(--color-cyan)}91%{text-shadow:-2px 0 var(--color-magenta), 2px 0 var(--color-cyan)}92%{text-shadow:2px 0 var(--color-magenta), -2px 0 var(--color-cyan)}93%{text-shadow:0 0 5px var(--color-cyan)}95%{text-shadow:-1px 0 var(--color-magenta), 1px 0 var(--color-cyan), 0 0 8px var(--color-cyan)}96%{text-shadow:0 0 5px var(--color-cyan)}}
