:root{--bg:#081425;--bg-deep:#040e1f;--surface:#152031;--surface-2:#1f2a3c;--surface-3:#111c2d;--surface-input:#0f172a;--border:#424754;--border-soft:#334155;--border-faint:#2a3548;--nav-bg:#394351;--text-bright:#d8e3fb;--text-body:#c2c6d6;--text-input:#ebf1fd;--text-muted:#8c909f;--text-faint:#656b7d;--text-footer-link:#3f465c;--accent:#adc6ff;--accent-soft:#a4c9ff;--accent-ink:#002e6a;--font-display:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:2px;--radius-md:4px;--container:1152px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-body);font-family:var(--font-display);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{margin:0;padding:0;list-style:none}p{margin:0}.icon{vertical-align:middle;color:currentColor;flex-shrink:0;display:inline-block}.nav{background:var(--nav-bg);border-bottom:.8px solid var(--border);z-index:50;position:sticky;top:0}.nav-inner{max-width:var(--container);justify-content:space-between;align-items:center;height:64px;margin:0 auto;padding:0 24px;display:flex}.brand{font-family:var(--font-mono);color:var(--accent);align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.brand-icon{color:var(--accent)}.nav-links{font-family:var(--font-mono);align-items:center;gap:28px;font-size:14px;font-weight:500;display:flex}.nav-links a{color:var(--text-body);padding:4px 0;transition:color .15s}.nav-links a:hover{color:var(--text-bright)}.nav-links a.active{color:var(--accent)}.nav-actions{align-items:center;gap:8px;display:flex}.icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-body);justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.icon-btn:hover{color:var(--accent);background:#adc6ff14}.icon-btn .icon{width:20px;height:20px}#menuToggle{display:none}#app{max-width:var(--container);margin:0 auto;padding:0 24px}.page{padding:64px 0 96px}.page-narrow-head{border-left:1.6px solid var(--accent);margin-bottom:48px;padding-left:24px}.hero{padding:72px 0 56px}.status-pill{background:var(--surface);border:.8px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--accent-soft);align-items:center;gap:8px;margin-bottom:28px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.pulse{animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero h1{font-family:var(--font-display);color:var(--text-bright);max-width:880px;margin:0 0 20px;font-size:clamp(32px,5vw,48px);font-weight:800;line-height:1.15}.hero p.lead{color:var(--text-body);max-width:720px;margin:0 0 32px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.btn{border-radius:var(--radius);font-family:var(--font-mono);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn .icon{width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{opacity:.92}.btn-secondary{border:.8px solid var(--border);color:var(--text-bright)}.btn-secondary:hover{border-color:var(--accent)}.section-head{align-items:center;gap:16px;margin-bottom:32px;display:flex}.section-head h2{color:var(--text-bright);white-space:nowrap;margin:0;font-size:30px;font-weight:400}.section-head .rule{background:var(--border);flex:1;height:1px}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px;display:grid}.card{background:var(--surface);border:.8px solid var(--border);border-radius:var(--radius);padding:24px}.card .icon.lg{width:32px;height:32px;color:var(--accent);margin-bottom:20px;display:block}.card h3{color:var(--text-bright);margin:0 0 12px;font-size:22px;font-weight:400}.card p.body{color:var(--text-body);min-height:66px;margin-bottom:20px;font-size:15px}.tag-row{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--bg);border:.8px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--accent-soft);padding:3px 8px;font-size:11px;font-weight:700}.terminal{background:var(--bg);border:.8px solid var(--border);border-radius:var(--radius);overflow:hidden}.terminal-head{background:var(--surface-2);border-bottom:.8px solid var(--border);font-family:var(--font-mono);color:var(--text-body);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;display:flex}.term-dots{gap:8px;display:flex}.term-dots span{background:var(--border);border-radius:50%;width:11px;height:11px;display:block}.terminal-body{font-family:var(--font-mono);padding:24px;font-size:14px}.terminal-body .line{color:var(--accent);margin-bottom:14px}.terminal-body .line.kv b{color:var(--text-bright);margin-left:8px;font-weight:500}.bars-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px;display:grid}.bar-row .bar-label{color:var(--text-body);justify-content:space-between;margin-bottom:8px;display:flex}.bar-row .bar-label .pct{color:var(--accent-soft)}.bar-track{gap:2px;height:8px;display:flex}.bar-seg{background:var(--surface-2);border-radius:2px;flex:1}.bar-seg.filled{background:var(--accent)}.terminal-body .ready{color:var(--accent);margin-top:4px}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px;display:grid}.project-card{background:var(--surface-2);border:.8px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.project-thumb{background:linear-gradient(135deg, var(--bg) 0%, var(--surface-3) 100%);border-bottom:.8px solid var(--border);justify-content:center;align-items:center;height:140px;display:flex;position:relative}.project-thumb .icon{width:48px;height:48px;color:var(--border)}.status-badge{background:var(--nav-bg);border:.8px solid var(--accent);border-radius:var(--radius);font-family:var(--font-mono);color:var(--accent);padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:14px;right:14px}.project-body{flex-direction:column;flex:1;gap:18px;padding:24px;display:flex}.project-body h3{color:var(--text-bright);margin:0;font-size:21px;font-weight:400}.project-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.project-meta.solution{color:var(--accent)}.project-text{color:var(--text-body);font-size:13.5px}.view-link{font-family:var(--font-mono);color:var(--accent);align-items:center;gap:4px;margin-top:auto;font-size:13px;display:inline-flex}.view-link .icon{width:17px;height:17px;margin-left:4px}.more-projects{margin-top:16px}.more-projects h3{color:var(--text-bright);margin-bottom:20px;font-size:20px;font-weight:400}.more-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.more-item{background:var(--surface-3);border:.8px solid var(--border-faint);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:14px 16px;font-size:13.5px;display:flex}.more-item .mname{color:var(--text-bright)}.more-item .mstack{color:var(--text-muted);font-family:var(--font-mono);text-align:right;font-size:12px}.skills-eyebrow{font-family:var(--font-mono);color:var(--accent-soft);align-items:center;gap:12px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.skills-grid{grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:24px;display:grid}.panel{background:var(--surface-3);border:.8px solid var(--border);border-radius:var(--radius-md);padding:24px}.panel-head{border-bottom:.8px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.panel-head h2{font-family:var(--font-mono);color:var(--text-bright);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.panel-head h2 .icon{width:18px;height:18px;color:var(--accent)}.panel-head .sysid{font-family:var(--font-mono);color:var(--text-muted);font-size:13px}.hw-row{justify-content:space-between;align-items:center;padding:11px 0;display:flex}.hw-name{font-family:var(--font-mono);color:var(--text-bright);align-items:center;gap:12px;font-size:14px;display:flex}.hw-name .dot{background:var(--accent)}.hw-bar{gap:4px;display:flex}.hw-seg{background:var(--border-faint);border-radius:1px;width:8px;height:12px}.hw-seg.on{background:var(--accent)}.protocol-grid{flex-wrap:wrap;gap:12px;display:flex}.protocol-chip{background:var(--bg);border:.8px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-bright);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.protocol-chip .icon{width:16px;height:16px;color:var(--accent-soft)}.toolchain-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.tool-card{background:var(--bg);border:.8px solid var(--border-faint);border-radius:var(--radius);padding:16px}.tool-card .tool-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tool-card .tool-top span:first-child{font-family:var(--font-mono);color:var(--text-bright);font-size:17px;font-weight:700}.tool-card .tool-top .icon{color:var(--text-muted);width:22px;height:22px}.tool-card .tool-desc{color:var(--text-body);min-height:52px;margin-bottom:14px;font-size:13px}.tool-progress{background:var(--border-faint);border-radius:12px;height:4px;overflow:hidden}.tool-progress>div{background:var(--accent);height:100%}.contact-grid{grid-template-columns:1.55fr 1fr;align-items:start;gap:24px;display:grid}.contact-head h1{color:var(--accent);margin:0 0 8px;font-size:clamp(30px,4vw,44px);font-weight:800}.contact-head p{color:var(--text-body);margin-bottom:32px}.contact-articles{grid-template-columns:1fr 1fr;gap:24px;display:grid}.article{background:var(--surface);border:.8px solid var(--border-soft);border-radius:var(--radius);padding:24px}.article.span-2{grid-column:span 2}.article-head{color:var(--accent-soft);font-family:var(--font-mono);align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.article-head .icon{width:20px;height:20px}.article p{color:var(--text-bright);margin-bottom:14px;font-size:15px}.article p:last-child{margin-bottom:0}.ext-link{color:var(--accent);font-family:var(--font-mono);align-items:center;gap:8px;padding:6px 0;font-size:13.5px;transition:opacity .15s;display:flex}.ext-link:hover{opacity:.8}.ext-link .icon{width:19px;height:19px}.status-line{font-family:var(--font-mono);color:var(--text-body);justify-content:space-between;align-items:center;padding:7px 0;font-size:13.5px;display:flex}.status-line b{color:var(--text-bright);font-weight:500}.status-line .avail-pill{color:var(--accent-soft);align-items:center;gap:6px;display:flex}.contact-form-card{background:var(--surface-input);border:.8px solid var(--border-soft);border-radius:var(--radius);padding:24px}.form-title{color:var(--accent);border-bottom:.8px solid var(--border);align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;font-size:22px;display:flex}.form-title .icon{width:22px;height:22px}.field{margin-bottom:18px}.field label{font-family:var(--font-mono);color:var(--text-body);letter-spacing:.02em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.field input,.field textarea{background:var(--surface-input);border:.8px solid var(--border-soft);border-radius:var(--radius);width:100%;font-family:var(--font-display);color:var(--text-input);outline:none;padding:11px 12px;font-size:15px;transition:border-color .15s}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:120px;font-family:var(--font-display)}.submit-btn{background:var(--accent);width:100%;color:var(--bg);border-radius:var(--radius);font-family:var(--font-mono);justify-content:center;align-items:center;gap:8px;padding:13px;font-size:14px;font-weight:500;transition:opacity .15s;display:flex}.submit-btn:hover{opacity:.92}.submit-btn .icon{width:20px;height:20px;margin-left:4px}.form-note{color:var(--text-muted);text-align:center;margin-top:12px;font-size:12px}.site-footer{background:var(--bg-deep);border-top:.8px solid var(--border);padding:32px 0}.footer-inner{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 24px;display:flex}.footer-copy{font-family:var(--font-mono);color:var(--text-body);font-size:12px;font-weight:700}.footer-links{font-family:var(--font-mono);color:var(--text-footer-link);gap:24px;font-size:13px;display:flex}.footer-links a:hover{color:var(--accent-soft)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.dot.pulse{animation:none}html{scroll-behavior:auto}}@media (width<=980px){.grid-3,.projects-grid,.skills-grid{grid-template-columns:1fr}.toolchain-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.contact-articles{grid-template-columns:1fr}.article.span-2{grid-column:span 1}.more-list,.bars-grid{grid-template-columns:1fr}}@media (width<=720px){.nav-links{display:none}#menuToggle{display:flex}.nav-links.open{background:var(--nav-bg);border-bottom:.8px solid var(--border);flex-direction:column;gap:16px;padding:16px 24px;display:flex;position:absolute;top:64px;left:0;right:0}.toolchain-grid{grid-template-columns:1fr}.hero-actions .btn{flex:1}.footer-inner{flex-direction:column;align-items:flex-start}}
