:root{--bg:#0b0d0c;--surface:#14171a;--surface-2:#1b1f22;--line:#262b2e;--text:#edeae3;--muted:#8b9290;--gold:#d4a72c;--green:#2f6b4f;--green-dim:#1b4332;--green-light:#7fc79e;--red:#b4544a;--rose:#e3a99c;--blue:#6e9bd1;--blue-light:#9dc1eb;--line-hover:#3a3f43;--line-gold:#3a3226;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:28px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif;line-height:1.5}.mono{font-family:IBM Plex Mono,monospace}a{color:inherit}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#d4a72c09 1px,#0000 1px),linear-gradient(90deg,#d4a72c09 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 90%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 90%)}.wrap{z-index:1;max-width:1080px;margin:0 auto;padding:0 28px;position:relative}nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:22px 28px;display:flex}.nav-mark{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:var(--fs-base);letter-spacing:.02em}.nav-mark span{color:var(--gold)}.nav-links{font-size:var(--fs-sm);color:var(--muted);gap:28px;display:flex}.nav-links a{text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--text)}.hero{padding:88px 0 64px}.prompt-line{font-family:IBM Plex Mono,monospace;font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:8px;margin-bottom:22px;display:flex}.prompt-line .dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 8px var(--green);border-radius:50%;flex-shrink:0}.cursor{background:var(--gold);vertical-align:middle;width:8px;height:16px;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}h1{letter-spacing:-.01em;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:clamp(34px,6vw,58px);font-weight:600;line-height:1.08}h1 .accent{color:var(--gold)}.roles{font-size:var(--fs-md);color:var(--muted);max-width:560px;margin-bottom:8px}.roles b{color:var(--text);font-weight:600}.hero-sub{font-size:var(--fs-base);color:var(--muted);max-width:520px;margin-top:14px}.status-strip{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:48px;overflow:hidden}.status-strip-head{border-bottom:1px solid var(--line);font-family:IBM Plex Mono,monospace;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.status-strip-head .up{color:var(--green)}.status-row{flex-wrap:wrap;display:flex}.status-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex:200px;align-items:center;gap:10px;padding:14px 16px;display:flex}.status-item:last-child{border-right:none}.status-led{border-radius:50%;flex-shrink:0;width:7px;height:7px}.led-live{background:var(--green);box-shadow:0 0 6px var(--green)}.led-pre{background:var(--gold);box-shadow:0 0 6px var(--gold)}.led-oss{background:var(--blue);box-shadow:0 0 6px var(--blue)}.status-item-text{font-size:var(--fs-sm)}.status-item-text .name{color:var(--text);font-family:IBM Plex Mono,monospace;font-weight:500;display:block}.status-item-text .state{color:var(--muted);font-size:var(--fs-xs)}.section{padding:80px 0}.section-label{font-family:IBM Plex Mono,monospace;font-size:var(--fs-xs);color:var(--gold);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:10px;display:flex}.section-label:before{content:"";background:var(--gold);width:18px;height:1px}.section-title{font-family:IBM Plex Mono,monospace;font-size:var(--fs-2xl);margin-bottom:40px;font-weight:600}.projects-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:24px;transition:border-color .18s;position:relative}.project-card:hover{border-color:var(--line-hover)}.project-card.featured{background:linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);border-color:var(--line-gold);grid-column:1/-1}.card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.badge{font-family:IBM Plex Mono,monospace;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.badge .status-led{width:6px;height:6px}.badge-live{color:var(--green-light);background:#2f6b4f26;border:1px solid #2f6b4f66}.badge-pre{color:var(--gold);background:#d4a72c1f;border:1px solid #d4a72c59}.badge-oss{color:var(--blue-light);background:#6e9bd11f;border:1px solid #6e9bd159}.card-idx{font-family:IBM Plex Mono,monospace;font-size:var(--fs-xs);color:var(--muted)}.project-name{font-size:var(--fs-lg);margin-bottom:8px;font-family:IBM Plex Sans,sans-serif;font-weight:600}.project-desc{font-size:var(--fs-base);color:var(--muted);margin-bottom:16px;line-height:1.55}.stack-row{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.stack-chip{font-family:IBM Plex Mono,monospace;font-size:var(--fs-2xs);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 8px}.card-link{font-family:IBM Plex Mono,monospace;font-size:var(--fs-sm);color:var(--text);border-bottom:1px solid #0000;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.card-link:hover{border-bottom-color:var(--gold);color:var(--gold)}.featured .project-name{font-size:var(--fs-xl)}.featured-tag{font-family:IBM Plex Mono,monospace;font-size:var(--fs-2xs);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.about-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:26px}.panel-head{font-family:IBM Plex Mono,monospace;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;display:flex}.panel-head.security{color:var(--rose)}.panel-head.engineering{color:var(--green-light)}.readout-row{border-bottom:1px dashed var(--line);font-size:var(--fs-sm);justify-content:space-between;align-items:baseline;padding:9px 0;display:flex}.readout-row:last-child{border-bottom:none}.readout-label{color:var(--muted)}.readout-value{font-family:IBM Plex Mono,monospace;font-size:var(--fs-sm);text-align:right}footer{border-top:1px solid var(--line);padding:36px 0 48px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-log{font-family:IBM Plex Mono,monospace;font-size:var(--fs-xs);color:var(--muted)}.footer-links{font-size:var(--fs-sm);gap:22px;display:flex}.footer-links a{color:var(--muted);text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--gold)}a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}.nav-links a,.project-card,.footer-links a{transition:none}}@media (width<=720px){.projects-grid,.about-grid{grid-template-columns:1fr}.status-item{flex:45%}nav{flex-direction:column;align-items:flex-start;gap:12px}}
