:root{--bg:#0b0e14;--bg-soft:#11141c;--bg-window:#0f1218;--border:#1f2430;--border-soft:#232838;--text:#c0caf5;--text-dim:#565f89;--text-muted:#414868;--green:#9ece6a;--green-bright:#b9f27c;--cyan:#7dcfff;--blue:#7aa2f7;--magenta:#bb9af7;--yellow:#e0af68;--orange:#ff9e64;--red:#f7768e;--shadow:rgba(125,207,255,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,Menlo,monospace;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--cyan);text-decoration:none;transition:color .15s}a:hover{color:var(--green-bright);text-decoration:underline}body:before{inset:0;background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.012) 0,hsla(0,0%,100%,.012) 1px,transparent 0,transparent 3px);z-index:1000;mix-blend-mode:overlay}body:after,body:before{content:"";position:fixed;pointer-events:none}body:after{top:-10%;right:-10%;width:60vmin;height:60vmin;background:radial-gradient(circle,rgba(122,162,247,.08) 0,transparent 60%);z-index:-1}.shell{display:grid;grid-template-columns:220px 1fr 280px;grid-gap:24px;gap:24px;max-width:1400px;margin:0 auto;padding:24px;min-height:100vh;position:relative;z-index:1}@media (max-width:1100px){.shell{grid-template-columns:1fr;gap:16px}.shell>aside{display:none}}.window{background:var(--bg-window);border:1px solid var(--border);border-radius:10px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.02),0 8px 24px rgba(0,0,0,.35);overflow:hidden}.window-titlebar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(180deg,#161a23,#11141c);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim);-webkit-user-select:none;-moz-user-select:none;user-select:none}.window-titlebar .dots{display:flex;gap:6px;margin-right:8px}.window-titlebar .dot{width:11px;height:11px;border-radius:50%}.window-titlebar .dot.r{background:#ff5f57}.window-titlebar .dot.y{background:#febc2e}.window-titlebar .dot.g{background:#28c840}.window-body{padding:18px 22px}.prompt{color:var(--text-dim);margin:18px 0 6px;font-size:13px}.prompt .user{color:var(--green)}.prompt .at{color:var(--text-dim)}.prompt .host{color:var(--magenta)}.prompt .path{color:var(--blue)}.prompt .dollar{color:var(--text-dim);margin:0 6px}.prompt .cmd{color:var(--text)}.prompt .flag{color:var(--orange)}section{margin-bottom:36px}section .heading{margin-top:0}.cursor{display:inline-block;width:8px;height:1em;background:var(--green-bright);vertical-align:middle;margin-left:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.ascii{font-family:inherit;white-space:pre;color:var(--cyan);text-shadow:0 0 12px rgba(125,207,255,.35);font-size:clamp(7px,1.8vw,14px);line-height:1.05;margin:0;letter-spacing:0;font-weight:700;max-width:100%;overflow:hidden;display:block}.sidebar{position:-webkit-sticky;position:sticky;top:24px;align-self:start}.sidebar .tree{list-style:none;margin:0;padding:0;font-size:13px}.sidebar .tree li{padding:4px 0;color:var(--text-dim)}.sidebar .tree a{color:var(--text);display:inline-flex;align-items:center;gap:6px}.sidebar .tree a:before{content:"├─";color:var(--text-muted);margin-right:4px}.sidebar .tree li:last-child a:before{content:"└─"}.sidebar .tree a:hover{color:var(--green-bright)}.monitor{position:-webkit-sticky;position:sticky;top:24px;align-self:start}.monitor h3{margin:0;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-weight:600}.monitor-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin:8px 0 4px}.monitor-row .label{color:var(--text-dim)}.monitor-row .value{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.monitor-bar{height:6px;background:var(--bg-soft);border:1px solid var(--border);border-radius:3px;overflow:hidden;margin-bottom:12px}.monitor-bar-fill{height:100%;background:linear-gradient(90deg,var(--green) 0,var(--cyan) 60%,var(--magenta) 100%);transition:width .3s}.logbox{padding:10px 14px;font-size:11px;line-height:1.55;max-height:320px;overflow-y:auto;overflow-x:hidden;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;scroll-behavior:smooth;background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.01) 0,hsla(0,0%,100%,.01) 1px,transparent 0,transparent 4px)}.logbox::-webkit-scrollbar{width:6px}.logbox::-webkit-scrollbar-track{background:transparent}.logbox::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.logline{white-space:nowrap}.logline .lt{color:var(--text-muted)}.logline .lm{color:var(--magenta)}.logline .lp{color:var(--text)}.logline .ld{color:var(--text-muted)}.logline .ls{font-weight:700;display:inline-block;min-width:32px}.logline .ls.s2{color:var(--green)}.logline .ls.s3{color:var(--cyan)}.logline .ls.s4{color:var(--yellow)}.logline .ls.s5{color:var(--red)}.logline .ls.s1{color:var(--blue)}.logline .ls.s0{color:var(--text-muted)}.hero-wrap{display:grid;grid-template-columns:1fr 200px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:720px){.hero-wrap{grid-template-columns:1fr}}.hero-photo{width:100%;aspect-ratio:1/1;border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative;background:var(--bg-soft)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(11,14,20,.6))}.tagline{color:var(--text);font-size:16px;margin:12px 0}.tagline .accent{color:var(--cyan)}.proc-list{width:100%;border-collapse:collapse;font-size:13px}.proc-list td,.proc-list th{text-align:left;padding:6px 12px 6px 0;border-bottom:1px dashed var(--border-soft)}.proc-list th{color:var(--text-dim);font-weight:400;text-transform:uppercase;font-size:11px;letter-spacing:1px}.proc-list td.user{color:var(--green)}.proc-list td.cpu{color:var(--cyan);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.proj-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:14px;transition:border-color .15s,transform .15s}.proj-card:hover{border-color:var(--cyan);transform:translateY(-2px)}.proj-card .title{color:var(--cyan);font-weight:600;margin:0 0 6px}.proj-card .meta{color:var(--text-dim);font-size:11px;margin-bottom:10px}.proj-card .desc{color:var(--text);font-size:13px;margin:0 0 10px}.proj-card .tags{display:flex;flex-wrap:wrap;gap:6px}.proj-card .tag{font-size:10px;color:var(--magenta);background:rgba(187,154,247,.1);border:1px solid rgba(187,154,247,.25);border-radius:3px;padding:2px 6px}.bug-list{width:100%;border-collapse:collapse;font-size:13px}.bug-list td,.bug-list th{text-align:left;padding:6px 12px 6px 0;border-bottom:1px dashed var(--border-soft);vertical-align:top}.bug-list th{color:var(--text-dim);font-weight:400;text-transform:uppercase}.bug-list th,.sev{font-size:11px;letter-spacing:1px}.sev{display:inline-block;font-weight:700;padding:2px 7px;border-radius:3px;border:1px solid}.sev.critical{color:var(--red);border-color:var(--red);background:rgba(247,118,142,.08)}.sev.high{color:var(--orange);border-color:var(--orange);background:rgba(255,158,100,.08)}.sev.medium{color:var(--yellow);border-color:var(--yellow);background:hsla(36,66%,64%,.08)}.sev.low{color:var(--blue);border-color:var(--blue);background:rgba(122,162,247,.08)}.timeline{padding-left:24px;border-left:1px solid var(--border-soft);position:relative}.timeline-item{margin-bottom:28px;position:relative}.timeline-item:before{content:"●";position:absolute;left:-32px;top:0;color:var(--cyan);font-size:10px;line-height:1.6}.timeline-item:first-child:before{color:var(--green-bright)}.timeline-item:last-child{margin-bottom:0}.timeline-item .when{color:var(--text-dim);font-size:11px;letter-spacing:.5px;margin-bottom:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-item .role{color:var(--green-bright);font-weight:600}.timeline-item .org{color:var(--cyan)}.timeline-item .desc{color:var(--text-dim);font-size:12px;margin-top:4px;line-height:1.55}.contact-line{margin:6px 0}.contact-line .key{color:var(--magenta)}.contact-line .val{color:var(--text)}.comment{color:var(--text-muted)}.dim{color:var(--text-dim)}.green{color:var(--green)}.cyan{color:var(--cyan)}.magenta{color:var(--magenta)}.yellow{color:var(--yellow)}.red{color:var(--red)}