:root{--bg: #0b0e14;--panel: #11151d;--panel-2: #161b25;--line: #1e2430;--text: #d7dce5;--muted: #6b7587;--comment: #4f5868;--pink: #ff5c8a;--lime: #b8f35b;--cyan: #4cd6ff;--amber: #ffb547;--violet: #a98bff;--mono: "Geist Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--sans: "Geist", ui-sans-serif, "Segoe UI", sans-serif;--titlebar-h: 2.25rem;--tabs-h: 2.5rem;--status-h: 1.75rem;color-scheme:dark;font-family:var(--sans);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--tabs-h) + 1rem)}body{margin:0;min-width:320px}::selection{background:var(--lime);color:var(--bg)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(40rem 30rem at 85% -10%,rgb(169 139 255 / .1),transparent 70%),radial-gradient(35rem 25rem at 10% 110%,rgb(184 243 91 / .07),transparent 70%),repeating-linear-gradient(0deg,rgb(255 255 255 / .018) 0 1px,transparent 1px 3px)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.t-pink{color:var(--pink)}.t-lime{color:var(--lime)}.t-cyan{color:var(--cyan)}.t-amber{color:var(--amber)}.t-violet{color:var(--violet)}.muted{color:var(--muted)}.comment{color:var(--comment);font-family:var(--mono);font-size:.85rem}.ide{min-height:100vh;padding-bottom:var(--status-h)}.titlebar{position:relative;display:flex;align-items:center;justify-content:center;height:var(--titlebar-h);background:var(--panel);border-bottom:1px solid var(--line);font:.75rem var(--mono);color:var(--muted)}.dots{position:absolute;left:1rem;display:flex;gap:.45rem}.dots i,.window-bar i{width:.7rem;height:.7rem;border-radius:50%;background:var(--pink)}.dots i:nth-child(2),.window-bar i:nth-child(2){background:var(--amber)}.dots i:nth-child(3),.window-bar i:nth-child(3){background:var(--lime)}.workspace{display:grid;grid-template-columns:15rem minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;height:calc(100vh - var(--status-h));padding:1rem 0;background:var(--panel);border-right:1px solid var(--line);font:.85rem var(--mono)}.sidebar-title{padding:0 1rem .75rem;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.sidebar-folder{padding:.25rem 1rem;color:var(--text)}.file{display:flex;align-items:center;gap:.5rem;padding:.35rem 1rem .35rem 1.75rem;color:var(--muted);border-left:2px solid transparent;transition:color .2s,background .2s}.file:hover{color:var(--text);background:var(--panel-2)}.file.active{color:var(--text);background:var(--panel-2);border-left-color:var(--lime)}.file-icon{width:1.4rem;font-size:.68rem;font-weight:700;text-align:center}.tabs{position:sticky;top:0;z-index:5;display:flex;height:var(--tabs-h);overflow-x:auto;scrollbar-width:none;background:var(--panel);border-bottom:1px solid var(--line);font:.8rem var(--mono)}.tab{display:flex;align-items:center;gap:.4rem;padding:0 1rem;white-space:nowrap;color:var(--muted);border-right:1px solid var(--line);transition:color .2s,background .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--bg);box-shadow:inset 0 2px var(--lime)}main{max-width:68rem;margin-inline:auto;padding:2rem clamp(1.25rem,5vw,4rem) 4rem}section{padding-block:3rem}.prompt{margin-bottom:1.75rem;font:.9rem var(--mono);color:var(--text)}.ps1{color:var(--cyan)}.dollar{color:var(--lime)}.cursor{display:inline-block;width:.55em;height:1.1em;margin-left:1px;vertical-align:text-bottom;background:var(--lime);box-shadow:0 0 12px #b8f35b99;animation:blink 1s steps(1) infinite}.output>*{opacity:0;transform:translateY(14px)}.done .output>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}.done :is(.ls-row,.line,.gitlog>li,.channels>li){animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(2){animation-delay:.08s}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(3){animation-delay:.16s}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(4){animation-delay:.24s}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(5){animation-delay:.32s}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(6){animation-delay:.4s}.done :is(.ls-row,.line,.gitlog>li,.channels>li):nth-child(n+7){animation-delay:.48s}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:center}.hero h1{margin:.4rem 0 .9rem;font-size:clamp(2.75rem,7vw,5rem);font-weight:700;line-height:1;letter-spacing:-.045em}.hero h1:after{content:"_";color:var(--lime);animation:blink 1.1s steps(1) infinite}.role{font:1rem var(--mono)}.summary{max-width:52ch;margin:1.25rem 0 2rem;font-size:1.1rem;color:#aab2c0}.cmds{display:flex;flex-wrap:wrap;gap:.6rem}.cmd{padding:.55rem 1rem;font:.85rem var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:6px;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s}.cmd:hover{color:var(--lime);border-color:var(--lime);transform:translateY(-2px)}.cmd.primary{color:var(--bg);background:var(--lime);border-color:var(--lime);font-weight:600}.cmd.primary:hover{color:var(--bg);box-shadow:0 0 28px #b8f35b59}.window{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 60px -24px #000000b3}.window-bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;border-bottom:1px solid var(--line)}.window-bar i{width:.6rem;height:.6rem}.window-bar span{margin-left:.5rem;overflow:hidden;font:.72rem var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis}.photo{width:15rem;margin:0;transform:rotate(2.5deg);transition:transform .4s cubic-bezier(.2,.7,.2,1)}.photo:hover{transform:rotate(0) translateY(-4px)}.photo img{aspect-ratio:4 / 5;width:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .4s}.photo:hover img{filter:none}.monogram{display:grid;place-items:center;aspect-ratio:4 / 5;font:700 4.5rem var(--mono);color:var(--lime);text-shadow:0 0 30px rgb(184 243 91 / .4);background:radial-gradient(circle at 70% 25%,rgb(169 139 255 / .35),transparent 60%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 1.25rem 1.25rem,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 1.25rem 1.25rem,var(--panel-2)}.projects{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:start}.ls{font:.85rem var(--mono)}.ls-total{margin-bottom:.5rem;color:var(--muted)}.ls-row{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;gap:1.25rem;align-items:center;width:100%;padding:.75rem .8rem;text-align:left;border-radius:6px;transition:background .2s}.ls-perm{color:var(--comment)}.ls-year{color:var(--amber)}.ls-name{color:var(--text);font-weight:600;white-space:nowrap;transition:color .2s}.ls-tech{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-arrow{color:var(--lime);opacity:0;transform:translate(-6px);transition:opacity .2s,transform .2s}.ls-row:hover,.ls-row.active{background:var(--panel-2)}.ls-row.active .ls-name{color:var(--lime)}.ls-row.active .ls-arrow{opacity:1;transform:none}.preview{position:sticky;top:calc(var(--tabs-h) + 1.5rem);animation:fade .35s ease both}.preview img,.shot-placeholder{width:100%;aspect-ratio:16 / 10;object-fit:cover}.shot-placeholder{display:grid;place-items:center;background:linear-gradient(rgb(255 255 255 / .06) 1px,transparent 1px) 0 0 / 100% 1.5rem,radial-gradient(circle at 20% 25%,hsl(var(--h) 95% 65% / .85),transparent 55%),radial-gradient(circle at 85% 80%,hsl(calc(var(--h) + 70) 95% 60% / .75),transparent 55%),var(--panel-2)}.shot-placeholder span{font:700 1.2rem var(--mono);color:#fff;text-shadow:0 2px 20px rgb(0 0 0 / .5)}.preview h3{margin-top:1.25rem;font-size:1.4rem;letter-spacing:-.02em}.preview p{margin-top:.5rem;color:#aab2c0}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.tags li{padding:.15rem .6rem;font:.75rem var(--mono);border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 8%,transparent);border-radius:999px}.preview-links{display:flex;gap:1.25rem;font:.85rem var(--mono)}.preview-links a{color:var(--lime)}.preview-links a:hover{text-decoration:underline;text-underline-offset:3px}.gitlog>li{position:relative;padding:0 0 2.25rem 2.25rem}.gitlog>li:before{content:"";position:absolute;left:.45rem;top:.6rem;bottom:-.4rem;width:2px;background:var(--line)}.gitlog>li:last-child:before{display:none}.gitlog>li:after{content:"";position:absolute;left:.1rem;top:.4rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--bg);border:2px solid var(--lime);box-shadow:0 0 14px #b8f35b80}.commit{font:.95rem var(--mono)}.commit strong{font-weight:600}.gitlog .comment{margin-top:.2rem}.gitlog ul{margin-top:.6rem}.gitlog ul li{position:relative;padding-left:1.1rem;color:#aab2c0}.gitlog ul li:before{content:"+";position:absolute;left:0;color:var(--lime);font-family:var(--mono)}.code{margin:0;padding:1.25rem 0;overflow-x:auto;font:.9rem/1.9 var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:10px;counter-reset:ln}.line{display:block;padding-right:1.5rem;white-space:pre;counter-increment:ln}.line:before{content:counter(ln);display:inline-block;width:3.25rem;padding-right:1.25rem;text-align:right;color:var(--comment)}.contact-lead{margin-bottom:1.5rem;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:600;line-height:1.3;letter-spacing:-.02em}.channels{font-family:var(--mono)}.channels a{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:1rem 0;font-size:clamp(.95rem,2.4vw,1.2rem);border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.channels a:hover{padding-left:.9rem;background:linear-gradient(90deg,rgb(184 243 91 / .07),transparent)}.channels .n{color:var(--comment)}.channels .arrow{color:var(--muted);transition:transform .25s}.channels a:hover .arrow{transform:translate(4px);color:var(--lime)}.eof{margin-top:3rem}.statusbar{position:fixed;inset:auto 0 0;z-index:10;display:flex;align-items:stretch;height:var(--status-h);font:.72rem var(--mono);color:#120d24;background:var(--violet)}.sb-item{display:flex;align-items:center;gap:.45rem;padding:0 .75rem;white-space:nowrap}.sb-spacer{flex:1}.sb-wa{font-weight:600;color:#062b14;background:#25d366;transition:filter .2s}.sb-wa:hover{filter:brightness(1.1)}.pulse{position:relative;width:.5rem;height:.5rem;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px #120d24}.pulse:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--lime);animation:ping 1.8s ease-out infinite}.wa-fab{position:fixed;right:1.25rem;bottom:calc(var(--status-h) + 1.25rem);z-index:10;display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;color:#fff;background:#25d366;box-shadow:0 8px 24px -6px #25d3668c;transition:transform .2s}.wa-fab:hover{transform:scale(1.08) rotate(-6deg)}@keyframes blink{50%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}@keyframes ping{to{transform:scale(2.6);opacity:0}}@media(max-width:860px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar,.hide-sm{display:none}.hero{grid-template-columns:minmax(0,1fr);gap:2rem}.photo{width:10rem;order:-1}.projects{grid-template-columns:minmax(0,1fr)}.preview{position:static}.ls-perm{display:none}.ls-row{grid-template-columns:auto auto minmax(0,1fr) auto}}@media(max-width:480px){.ls-tech{display:none}.ls-row{grid-template-columns:auto minmax(0,1fr) auto}.ls-name{overflow:hidden;text-overflow:ellipsis}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.output>*{opacity:1;transform:none}html{scroll-behavior:auto}}
