:root{color-scheme:dark;--bg: #0e1218;--surface: #161d26;--surface-2: #1f2832;--text: #d8e1ea;--muted: #91a0b2;--accent: #57d8a4;--line: #2e3b4a;--shadow: 0 12px 36px rgba(0, 0, 0, .35);--terminal-bg: #0a0f13;--terminal-panel: #111820;--terminal-panel-2: #17212b;--terminal-green: #57d8a4;--terminal-cyan: #45c8e7;--terminal-amber: #f0b85a;--terminal-red: #ff6b7a;--avatar-fill: #c9d0d8}:root[data-theme=light]{color-scheme:light;--bg: #f6f8fb;--surface: #ffffff;--surface-2: #f3f7fa;--text: #0f1a26;--muted: #4f5d70;--accent: #08795b;--line: #dbe4ec;--shadow: 0 8px 20px rgba(31, 45, 61, .06);--terminal-bg: #fbfdff;--terminal-panel: #ffffff;--terminal-panel-2: #f3f7fa;--terminal-green: #08795b;--terminal-cyan: #256f85;--terminal-amber: #9a650f;--terminal-red: #c83d4d;--avatar-fill: #dde4ea}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;top:-100%;left:0;padding:.5rem 1rem;background:var(--accent);color:#061810;font-weight:600;text-decoration:none;border-radius:0 0 8px;z-index:9999}.skip-link:focus{top:0}html,body,#root{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 0% -10%,var(--surface-2),transparent),var(--bg);color:var(--text)}html{scroll-behavior:smooth;scroll-padding-top:5rem}a{color:inherit}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:700;letter-spacing:.02em}.brand-mark{width:2.2rem;height:2.2rem;display:block;box-sizing:border-box;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);object-fit:cover;padding:.18rem}nav{display:flex;gap:1.2rem}nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.36rem .65rem;border-radius:999px;text-decoration:none;color:var(--muted);transition:color .18s ease,background-color .22s ease,transform .22s ease}nav a:after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:.2rem;height:2px;border-radius:999px;background:var(--accent);opacity:0;transform:scaleX(.3);transform-origin:center;transition:opacity .22s ease,transform .22s ease}nav a:hover{color:var(--text);background:color-mix(in srgb,var(--surface-2) 82%,transparent);transform:translateY(-1px)}nav a:hover:after,nav a:focus-visible:after{opacity:1;transform:scaleX(1)}nav a:focus-visible{color:var(--text);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.menu-toggle{display:none;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.page-content{width:100%;margin:0;display:grid;gap:1rem;padding:0 0 4rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem;box-shadow:var(--shadow)}.page-content>.card,.page-content>.status{width:min(920px,92vw);margin-inline:auto}.intro-terminal+.card{margin-top:1rem}.section-divider{width:100%;border:none;border-top:1px solid var(--line);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0;color:var(--accent);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}h1{margin:.5rem 0 .8rem;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.1}h2{margin:0;font-size:1.4rem}h3{margin:0;font-size:1rem}.lead,.content-stack p{margin:0;color:var(--muted);line-height:1.65}.content-stack{display:grid;gap:.8rem;margin-top:.9rem}.btn{font:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;font-weight:600;min-height:2.5rem;padding:0 .9rem;cursor:pointer}.btn-primary{background:var(--accent);color:#061810}[data-theme=light] .btn-primary{color:#fff}.btn-secondary{border-color:var(--line);background:var(--surface)}.intro-terminal{position:relative;min-height:calc(100svh - 4.1rem);display:grid;align-items:center;padding:clamp(1rem,2.4vw,2rem);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}.intro-terminal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(color-mix(in srgb,var(--terminal-red) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--terminal-cyan) 10%,transparent) 1px,transparent 1px),radial-gradient(900px 420px at 16% 12%,color-mix(in srgb,var(--terminal-red) 20%,transparent),transparent 65%),radial-gradient(760px 420px at 84% 18%,color-mix(in srgb,var(--terminal-green) 12%,transparent),transparent 62%),var(--bg);background-size:56px 56px,56px 56px,auto,auto,auto}.intro-terminal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 18%,transparent),var(--bg))}:root[data-theme=light] .intro-terminal:before{background:linear-gradient(rgba(31,45,61,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(31,45,61,.045) 1px,transparent 1px),var(--bg);background-size:56px 56px,56px 56px,auto}:root[data-theme=light] .intro-terminal:after{background:linear-gradient(180deg,rgba(246,248,251,.35),var(--bg))}.intro-shell{width:min(1480px,96vw);margin:0 auto;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(430px,1.66fr) minmax(180px,.46fr);gap:1rem;align-items:stretch;min-height:560px;height:min(760px,calc(100svh - 7rem));position:relative}.intro-anchor{position:absolute;top:0;width:1px;height:1px;overflow:hidden}.intro-profile-panel,.terminal-window,.command-rail,.command-card{border:1px solid color-mix(in srgb,var(--line) 76%,var(--terminal-green));background:color-mix(in srgb,var(--terminal-panel) 92%,transparent);box-shadow:0 24px 70px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root[data-theme=light] .intro-profile-panel,:root[data-theme=light] .terminal-window,:root[data-theme=light] .command-rail,:root[data-theme=light] .command-card{border-color:color-mix(in srgb,var(--line) 88%,var(--terminal-green));background:var(--terminal-panel);box-shadow:0 14px 34px #1f2d3d14;-webkit-backdrop-filter:none;backdrop-filter:none}.intro-profile-panel,.command-rail{border-radius:12px;padding:clamp(1rem,2vw,1.25rem)}.intro-profile-panel{display:flex;flex-direction:column;gap:1.1rem;min-height:0;min-width:0;overflow:auto}.intro-profile-topline,.panel-label{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;color:var(--terminal-cyan);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.intro-profile-topline{display:flex;justify-content:space-between;gap:1rem;min-width:0}.intro-profile-topline span{min-width:0;overflow-wrap:anywhere}.intro-identity-name-row{display:flex;align-items:center;gap:1rem;min-width:0;flex-wrap:wrap}.intro-identity-name-col{min-width:0;flex:1 1 12rem}.intro-avatar-frame{width:92px;height:92px;flex:0 0 auto;border-radius:50%;padding:3px;border:2px solid var(--terminal-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--terminal-green) 25%,transparent);background:var(--avatar-fill)}.intro-avatar{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;background:var(--avatar-fill)}.intro-avatar--revealed{transform:scale(1.12)}.intro-profile-panel h1{margin-bottom:0;font-size:clamp(2rem,3.05vw,3rem);overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.intro-summary,.terminal-paragraph{margin:0;color:var(--muted);line-height:1.6}.intro-actions{display:flex;flex-wrap:wrap;gap:.65rem}.intro-actions .btn{cursor:pointer}.intro-build-metadata{margin-top:auto;min-width:0;padding-top:.75rem;border-top:1px solid var(--line)}.intro-build-metadata p{margin:0;min-width:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;color:var(--muted);font-size:.76rem;line-height:1.4}.intro-build-metadata p>*{min-width:0;overflow-wrap:anywhere}.intro-build-metadata span:first-child{color:var(--terminal-cyan);letter-spacing:0}.intro-build-metadata a{color:var(--muted);text-decoration:none}.intro-build-metadata a:hover,.intro-build-metadata a:focus-visible{color:var(--terminal-green);text-decoration:underline}.intro-profile-contact{display:grid;gap:.65rem;padding-top:1rem;border-top:1px solid var(--line)}.intro-profile-contact-list{display:grid;gap:.55rem}.intro-profile-contact-list a{min-height:2.45rem;display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:9px;padding:0 .75rem;color:var(--text);text-decoration:none;background:color-mix(in srgb,var(--terminal-panel-2) 74%,transparent);min-width:0}.intro-profile-contact-list a span{min-width:0;overflow-wrap:anywhere}.intro-profile-contact-list a:hover{border-color:var(--terminal-green);color:var(--terminal-green)}.intro-profile-contact-list svg{flex:0 0 auto}.terminal-dashboard{display:flex;min-width:0;min-height:0;height:100%}.terminal-window{min-height:0;height:100%;width:100%;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.terminal-window-bar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;min-height:2.6rem;padding:0 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--terminal-panel-2) 78%,var(--terminal-bg))}.terminal-window-bar p{margin:0;color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;text-align:center}.terminal-dots{display:flex;gap:.45rem}.terminal-dots span{width:.72rem;height:.72rem;border-radius:50%;background:var(--terminal-red)}.terminal-dots span:nth-child(2){background:var(--terminal-amber)}.terminal-dots span:nth-child(3){background:var(--terminal-green)}.terminal-body{flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:clamp(1rem,2vw,1.35rem);background:linear-gradient(180deg,color-mix(in srgb,var(--terminal-bg) 94%,transparent),var(--terminal-bg))}.terminal-output{min-height:0;overflow:auto;padding-right:.3rem;border-radius:8px;outline:2px solid transparent;outline-offset:4px;transition:outline-color .18s ease}.terminal-output--attention{outline-color:var(--terminal-green)}.terminal-prompt,.terminal-line,.terminal-input-row,.terminal-command-row,.command-card{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.terminal-prompt{margin:0 0 1rem;color:var(--muted)}.terminal-prompt span,.terminal-line span{color:var(--terminal-green)}.terminal-output-block{display:grid;gap:.65rem}.terminal-output-block--content{gap:.85rem}.terminal-line{margin:0;color:var(--muted);line-height:1.55}.terminal-line--success{color:var(--terminal-green)}.terminal-line--accent{color:var(--terminal-cyan)}.terminal-line--error{color:var(--terminal-red)}.terminal-command-list{display:grid;gap:.45rem}.terminal-command-row{display:grid;grid-template-columns:minmax(5rem,.3fr) 1fr;align-items:start;gap:.75rem;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:.7rem;background:color-mix(in srgb,var(--terminal-panel-2) 72%,transparent);color:var(--text);cursor:pointer}.terminal-command-row span,.command-card span{color:var(--terminal-green)}.terminal-command-row small,.command-card small{color:var(--muted);line-height:1.45}.terminal-record-list{display:grid;gap:.75rem}.terminal-record{display:grid;gap:.55rem;min-width:0;border:1px solid var(--line);border-radius:8px;padding:.8rem;background:color-mix(in srgb,var(--terminal-panel-2) 66%,transparent)}.terminal-record--compact{gap:.45rem}.terminal-record h3{color:var(--terminal-cyan);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.35;overflow-wrap:anywhere}.terminal-cert-record{grid-template-columns:minmax(0,1fr) auto;align-items:center}.terminal-cert-content{display:grid;gap:.55rem;min-width:0}.terminal-cert-badge-link{display:inline-flex;border-radius:8px}.terminal-cert-badge{width:clamp(4.75rem,9vw,6.25rem);aspect-ratio:1;object-fit:contain;border-radius:8px}.terminal-record-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:start}.terminal-record-head span{max-width:10rem;border:1px solid color-mix(in srgb,var(--terminal-green) 55%,var(--line));border-radius:999px;padding:.16rem .45rem;color:var(--terminal-green);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;line-height:1.35;text-align:right;overflow-wrap:anywhere}.terminal-meta,.terminal-muted{margin:0;color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.45}.terminal-preview-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.terminal-preview-chip{min-width:0;border:1px solid var(--line);border-radius:999px;padding:.22rem .48rem;background:color-mix(in srgb,var(--terminal-bg) 64%,transparent);color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.terminal-preview-chip--more{color:var(--terminal-amber)}.terminal-bullet-list{display:grid;gap:.35rem;margin:0;padding-left:1.1rem}.terminal-bullet-list li{color:var(--muted);line-height:1.5}.terminal-bullet-list li::marker{color:var(--terminal-green)}.terminal-link-row,.terminal-action-row{display:flex;flex-wrap:wrap;gap:.5rem}.terminal-inline-link,.terminal-see-more{min-height:2rem;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:0 .65rem;background:color-mix(in srgb,var(--terminal-panel-2) 74%,transparent);color:var(--text);font:inherit;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;text-decoration:none}.terminal-see-more{cursor:pointer}.terminal-inline-link:hover,.terminal-see-more:hover{border-color:var(--terminal-green);color:var(--terminal-green)}@media (max-width: 560px){.terminal-cert-record{grid-template-columns:1fr}.terminal-cert-badge,.terminal-cert-badge-link{justify-self:start}}.terminal-input-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;margin-top:1.1rem;border-top:1px solid var(--line);padding-top:1rem;color:var(--terminal-green)}.terminal-input-row input{min-width:0;border:0;background:transparent;color:var(--text);font:inherit}.terminal-input-row input:focus{outline:none}.command-deck{display:grid;grid-template-columns:1fr;gap:.5rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.15rem .1rem .1rem 0;scrollbar-width:thin}.command-rail{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem;min-width:0;min-height:0;overflow:hidden}.command-card{min-height:3.15rem;border-radius:9px;padding:.58rem .62rem;text-align:left;color:var(--text);cursor:pointer;display:grid;gap:.25rem;transition:border-color .15s ease,transform .15s ease,background .15s ease}.command-card span{overflow-wrap:anywhere}.command-card small{font-size:.72rem}.command-card:hover,.command-card--active{border-color:var(--terminal-green);transform:translateY(-2px);background:color-mix(in srgb,var(--terminal-panel-2) 88%,var(--terminal-green))}.panel-label{margin:0;color:var(--terminal-amber)}.intro-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:.35rem 0 0}.intro-tags li{border:1px solid var(--line);border-radius:999px;padding:.32rem .58rem;background:color-mix(in srgb,var(--terminal-panel-2) 82%,transparent);color:var(--muted);font-size:.82rem}.intro-contact-actions{display:grid;gap:.5rem}.terminal-contact-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:.45rem .65rem;background:color-mix(in srgb,var(--terminal-panel-2) 74%,transparent)}.terminal-copy-button{border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--terminal-panel-2) 88%,transparent);color:var(--muted);font-size:.72rem;line-height:1;padding:.3rem .45rem;cursor:pointer}.terminal-copy-button:hover,.terminal-copy-button:focus-visible{border-color:var(--terminal-green);color:var(--terminal-green)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1rem 0 0}.chips li{border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;background:var(--surface-2);font-size:.9rem;color:var(--muted);transition:border-color .15s ease,color .15s ease}.chips li:hover{border-color:var(--accent);color:var(--text)}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.scroll-top-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.scroll-top-btn:hover{color:var(--text);background:var(--surface-2);transform:translateY(-2px)}.skills-control-panel{display:grid;grid-template-columns:minmax(14rem,.55fr) 1fr;gap:.75rem;align-items:start;margin-top:1rem;border:1px solid var(--line);border-radius:10px;padding:.8rem;background:color-mix(in srgb,var(--terminal-panel) 70%,var(--surface))}.skill-search{display:block}.skill-search input{width:100%;min-height:2.55rem;border:1px solid var(--line);border-radius:8px;padding:0 .85rem;background:var(--surface);color:var(--text);font:inherit}.skill-search input::placeholder{color:var(--muted)}.core-skills{display:flex;flex-wrap:wrap;gap:.45rem}.core-skills span{border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line));border-radius:999px;padding:.38rem .68rem;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);font-size:.85rem;font-weight:700}.skill-group{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;padding:.9rem;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 94%,transparent),var(--surface-2));transition:border-color .15s ease,transform .15s ease}.skill-group:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--skill-tone, var(--accent))}.skill-group--green{--skill-tone: var(--terminal-green)}.skill-group--cyan{--skill-tone: var(--terminal-cyan)}.skill-group--amber{--skill-tone: var(--terminal-amber)}.skill-group:hover{border-color:var(--skill-tone, var(--accent));transform:translateY(-2px)}.skill-group-header{display:flex;align-items:flex-start;gap:.65rem}.skill-group-header p{margin:.2rem 0 0;color:var(--muted);font-size:.82rem}.skill-group-badge{flex:0 0 auto;min-width:2.6rem;min-height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--skill-tone, var(--accent)) 58%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--skill-tone, var(--accent)) 13%,var(--surface));color:var(--text);font-size:.74rem;font-weight:800}.skill-group .chips{margin-top:.7rem}.skill-chips li{background:color-mix(in srgb,var(--terminal-panel-2) 84%,transparent)}.skill-chips li.is-core{border-color:color-mix(in srgb,var(--skill-tone, var(--accent)) 68%,var(--line));background:color-mix(in srgb,var(--skill-tone, var(--accent)) 14%,var(--surface));color:var(--text);font-weight:700}.skill-toggle{margin-top:.75rem;border:1px solid var(--line);border-radius:8px;min-height:2.1rem;padding:0 .7rem;background:var(--surface);color:var(--text);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.skill-toggle:hover{border-color:var(--skill-tone, var(--accent));color:var(--skill-tone, var(--accent))}.skills-empty{display:block;margin:1rem 0 0;border:1px solid var(--line);border-radius:8px;padding:.8rem;background:var(--surface-2);color:var(--muted)}.cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.cert-card{border:1px solid var(--line);border-radius:10px;padding:.95rem;background:var(--surface-2);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.75rem;transition:border-color .15s ease,transform .15s ease}.cert-card-body{display:grid;gap:.45rem;flex:1;min-width:0}.cert-card:hover{border-color:var(--accent);transform:translateY(-2px)}.cert-badge{width:92px;height:92px;object-fit:contain;margin-bottom:.1rem}.cert-badge-link{width:fit-content;text-decoration:none;border-radius:8px}.cert-badge-link:hover .cert-badge,.cert-badge-link:focus-visible .cert-badge{transform:translateY(-1px) scale(1.02)}.cert-badge-link,.cert-title-link{cursor:pointer}.cert-badge,.cert-title-link{transition:transform .12s ease,color .12s ease}.cert-title-link{color:var(--text);text-decoration:none}.cert-title-link:hover,.cert-title-link:focus-visible{color:var(--accent)}.meta{margin:0;color:var(--muted);font-size:.94rem}.credential-link{width:fit-content;text-decoration:none;color:var(--accent);border:1px solid var(--line);border-radius:8px;min-height:2rem;display:inline-flex;align-items:center;padding:0 .7rem}.credential-link:hover{border-color:var(--accent)}.timeline{margin-top:1rem;border-left:2px solid var(--line);padding-left:1rem;display:grid;gap:.9rem}.timeline-item{border:1px solid var(--line);border-radius:10px;padding:.9rem;background:var(--surface-2);transition:border-color .15s ease,transform .15s ease}.timeline-item:hover{border-color:var(--accent);transform:translate(3px)}.timeline-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.emphasis{font-weight:600;color:var(--text)}.body-text{line-height:1.55}.bullet-list{margin:.7rem 0 0;padding-left:1.15rem;color:var(--muted);display:grid;gap:.45rem}.bullet-list li{transition:color .15s ease}.bullet-list li:hover{color:var(--text)}.project-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.project-card{border:1px solid var(--line);border-radius:10px;padding:.95rem;background:var(--surface-2);display:grid;gap:.55rem;transition:border-color .15s ease,transform .15s ease}.project-card:hover{border-color:var(--accent);transform:translateY(-2px)}.project-header{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.status-pill{border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;font-size:.8rem;color:var(--muted);white-space:nowrap}.project-links{display:flex;flex-wrap:wrap;gap:.5rem}.aws-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.aws-panel{border:1px solid var(--line);border-radius:10px;padding:.95rem;background:var(--surface-2);transition:border-color .15s ease,transform .15s ease}.aws-panel:hover{border-color:var(--accent);transform:translateY(-2px)}.pipeline-panel{margin-top:.8rem}.architecture-panel{margin-top:.8rem;display:flex;flex-direction:column}.architecture-diagram{width:100%;height:auto;border-radius:8px;object-fit:contain;max-height:600px;display:block}.architecture-diagram-button{width:100%;margin-top:.8rem;padding:0;border:0;background:transparent;border-radius:8px;cursor:pointer;transition:opacity .2s ease}.architecture-diagram-button:hover{opacity:.8}.architecture-diagram-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.modal-overlay{width:min(96vw,1400px);max-width:96vw;max-height:96vh;padding:.75rem;border:none;background:transparent;overflow:auto;overscroll-behavior:contain;animation:fadeIn .2s ease-in-out}.modal-overlay::backdrop{background-color:#000000b3}.modal-content{position:relative;max-height:calc(96vh - 1.5rem);background-color:var(--surface);border-radius:12px;box-shadow:0 20px 60px #00000080;overflow:auto;animation:slideUp .3s ease-out}.modal-image{width:100%;height:auto;display:block;border-radius:12px}.modal-close{position:sticky;top:.75rem;margin:.75rem .75rem 0 auto;background:var(--surface-2);border:none;color:var(--text);font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1001}.modal-close:hover{background:var(--accent);color:var(--bg);transform:scale(1.1)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ordered-list{margin:.7rem 0 0;padding-left:1.2rem;color:var(--muted);display:grid;gap:.45rem}.ordered-list li{transition:color .15s ease}.ordered-list li:hover{color:var(--text)}.site-footer{width:min(920px,92vw);margin:0 auto 2.5rem;padding:1.2rem 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-copy{margin:0;color:var(--muted);font-size:.9rem}.footer-back-to-top{text-decoration:none;color:var(--muted);font-size:.9rem}.footer-back-to-top:hover{color:var(--accent)}.status{border:1px solid var(--line);border-radius:10px;padding:.9rem;background:var(--surface)}.status.error{border-color:#d06969;color:#ffb7b7}@media (max-width: 1180px){.intro-terminal{align-items:start}.intro-shell{grid-template-columns:minmax(300px,.82fr) minmax(0,1.58fr) minmax(132px,.3fr);height:min(720px,calc(100svh - 7rem))}.intro-profile-panel{gap:.85rem}.intro-identity-name-row{gap:.75rem}.intro-avatar-frame{width:76px;height:76px}.intro-profile-panel h1{font-size:clamp(2rem,3vw,2.55rem)}.intro-summary{line-height:1.48}.intro-profile-contact{padding-top:.75rem}.intro-profile-contact-list a{min-height:2.25rem}}@media (max-width: 860px){.intro-terminal{min-height:auto;padding:1rem .8rem}.intro-shell{width:min(720px,100%);grid-template-columns:1fr;height:auto;min-height:0}.intro-profile-panel{overflow:visible}.intro-identity-name-row{flex-wrap:nowrap}.intro-profile-panel h1{font-size:clamp(2.1rem,9vw,3rem)}.intro-profile-contact-list{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-profile-contact-list a{justify-content:center}.terminal-window{min-height:400px;height:58svh}.command-rail{overflow:visible}.command-deck{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width: 640px){.site-header{padding:.8rem;flex-wrap:wrap;gap:.5rem;align-items:center}.menu-toggle{display:inline-flex}nav{display:none;order:3;width:100%;flex-direction:column;gap:.25rem;padding:.5rem 0;border-top:1px solid var(--line)}nav.nav-open{display:flex}nav a{width:100%;justify-content:flex-start;border-radius:8px;padding:.6rem .75rem}.card{padding:1.1rem}.intro-identity-name-row{flex-wrap:wrap}.intro-avatar-frame{width:76px;height:76px}.intro-profile-panel h1{font-size:clamp(2rem,12vw,2.8rem)}.intro-profile-contact-list{grid-template-columns:1fr}.intro-profile-contact-list a{justify-content:flex-start}.intro-actions{flex-direction:column}.intro-actions .btn{width:100%}.terminal-window-bar{grid-template-columns:1fr;gap:.45rem;padding:.75rem}.terminal-window-bar p{text-align:left}.terminal-window{height:440px}.terminal-command-row{grid-template-columns:1fr;gap:.25rem}.terminal-input-row,.command-deck,.skills-control-panel,.skills-grid,.cert-grid,.project-grid,.aws-grid{grid-template-columns:1fr}.timeline{padding-left:.7rem}.timeline-head{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.core-skills span,.chips li{font-size:.84rem}.project-header{flex-direction:column;align-items:flex-start}}
