/* Skill logos reveal their accessible names on hover or keyboard/touch focus. */
.skill-icons{display:flex;flex-wrap:wrap;gap:12px;align-items:center;min-width:0;padding-block:6px}.skill-icon{position:relative;width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #3b4333;border-radius:10px;background:#191e17;cursor:help;flex-shrink:0;transition:border-color .2s,transform .2s}.skill-logo{width:31px;height:31px;background:var(--brand,#d4f76a);mask-image:var(--logo);mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--logo);-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.skill-icon:hover,.skill-icon:focus{border-color:#d4f76a;transform:translateY(-3px);outline:0;box-shadow:0 0 0 1px #d4f76a}.skill-tooltip{position:absolute;z-index:5;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:6px 10px;background:var(--text);color:var(--bg);border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 3px 12px #0002}.skill-icon:hover .skill-tooltip,.skill-icon:focus .skill-tooltip{opacity:1;visibility:visible}.experience-project-link{margin-top:25px}.experience-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:14px 0 7px;color:var(--muted);font-size:13px}.experience-meta>span{display:inline-flex;gap:5px;align-items:center}.experience-meta .icon{width:14px;height:14px}.experience-role{color:var(--accent);font-weight:500}.experience-highlights{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:9px 16px;color:var(--muted);font-size:12px}.experience-highlights li{display:flex;align-items:center;gap:5px}.experience-highlights .icon{width:13px;height:13px;color:var(--accent)}.experience-group-label{font-size:11px;letter-spacing:.1em;margin:30px 0 21px;color:var(--accent)}.experience-record+.experience-record{padding-bottom:5px}.experience-record>p{margin-top:12px}.experience-record>.text-link{margin-top:18px}
/* A command palette styled as a terminal; all output is public portfolio data. */
.terminal-section{background:color-mix(in srgb,var(--surface) 85%,transparent);border-block:1px solid var(--line)}.terminal-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:center}.terminal-intro h2{margin-top:18px}.terminal-intro>p{margin-top:22px;font-size:16px;line-height:1.9}.terminal-intro-mark{display:flex;align-items:center;gap:10px;margin-top:30px;color:var(--accent)}.terminal-intro-mark .icon{width:22px;height:22px}.terminal-intro-mark .mono{font-size:12px}.portfolio-terminal{min-width:0;background:#111711;color:#dce9d5;border:1px solid #3d4b35;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px #0002;font-family:var(--mono)}.terminal-top{display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid #34422b;background:#1b2318;font-size:12px}.terminal-window-dots{display:flex;gap:5px}.terminal-window-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#678348}.terminal-window-dots i:first-child{background:#c77464}.terminal-window-dots i:nth-child(2){background:#c8b56d}.terminal-status{margin-left:auto;font-size:10px;color:#a3bc8c;display:flex;align-items:center;gap:6px;letter-spacing:.05em}.terminal-status>span{width:5px;height:5px;border-radius:50%;background:#bfe572}.terminal-output{height:310px;padding:21px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4f643b #111711;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.terminal-output:focus-visible{outline-offset:-3px}.terminal-output p{color:inherit;line-height:1.8;white-space:pre-wrap}.terminal-output .terminal-welcome{font-weight:700;color:#e0f2ca;font-size:15px;margin-bottom:6px}.terminal-output .terminal-muted{color:#a0b493}.terminal-output .terminal-heading{color:#d4f76a;font-weight:700;margin-top:10px}.terminal-output .terminal-echo{color:#6fc9b2;margin:17px 0 6px}.terminal-output .terminal-project{margin-top:9px}.terminal-output a{color:#d4f76a;text-decoration:underline;text-decoration-color:#6f844e;text-underline-offset:4px}.terminal-output a:hover{color:#edffcb}.terminal-command-form{display:flex;align-items:center;gap:10px;padding:12px 18px;border-block:1px solid #34422b;min-width:0}.terminal-command-form .terminal-prompt{display:flex;align-items:center;gap:0;font-family:var(--mono);font-size:13px;margin:0;white-space:nowrap;color:#c9d7bd;flex-shrink:0}.terminal-user{color:#aad477}.terminal-path{color:#70b9c7}.terminal-prompt>span:last-child{padding-left:6px}.terminal-command-form input{border:0;background:transparent;padding:5px 0;color:#ecf4e5;font-family:var(--mono);font-size:13px;min-width:0;flex:1;width:100%;box-shadow:none;caret-color:#d4f76a}.terminal-command-form input:focus{outline:0}.terminal-command-form:focus-within{background:#182116;box-shadow:inset 0 -2px #779c42}.terminal-command-form input::placeholder{font-size:13px;color:#799267}.terminal-run{border:1px solid #495c38;border-radius:4px;background:#28361e;color:#d4f76a;min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0}.terminal-run .icon{width:16px;height:16px}.terminal-run:hover{background:#3b4e2b}.terminal-quick-commands{display:flex;flex-wrap:wrap;gap:7px;padding:13px 18px 6px}.terminal-quick-commands button{font-family:var(--mono);font-size:12px;line-height:1.3;border:1px solid #3e5031;background:#1b2716;color:#c1d2af;border-radius:4px;padding:7px 10px;min-height:34px}.terminal-quick-commands button:hover{border-color:#d4f76a;color:#d4f76a}.terminal-helper{padding:6px 18px 14px;font-size:11px;color:#91a87b;line-height:1.7}.portfolio-terminal button:focus-visible,.portfolio-terminal a:focus-visible,.terminal-output:focus-visible{outline:2px solid #d4f76a}
@media(max-width:1100px){.terminal-grid{gap:35px;grid-template-columns:.75fr 1.25fr}.skill-icon{width:55px;height:55px}.skill-icons{gap:10px}.skill-logo{width:28px;height:28px}.terminal-output{padding-inline:18px}.terminal-intro h2{font-size:36px}}
@media(max-width:800px){.skill-icons{padding-left:44px}.terminal-grid{grid-template-columns:1fr;gap:30px}.terminal-intro-mark{display:none}.terminal-intro>p br{display:none}.terminal-intro>p{margin-top:15px}.terminal-output{height:280px}.terminal-intro h2{font-size:35px}.experience-project-link{font-size:14px}.skill-tooltip{max-width:150px}}
@media(max-width:560px){.skill-icons{padding-left:33px;gap:9px}.skill-icon{width:48px;height:48px;border-radius:8px}.skill-logo{width:25px;height:25px}.experience-meta{font-size:12px;gap:7px 12px}.experience-highlights{font-size:11px}.terminal-intro h2{font-size:32px}.terminal-top{padding:13px 12px;gap:9px;font-size:11px}.terminal-status{font-size:9px;letter-spacing:0}.terminal-window-dots{gap:4px}.terminal-window-dots i{width:7px;height:7px}.terminal-output{height:265px;padding:17px 14px;font-size:12px}.terminal-output .terminal-welcome{font-size:14px}.terminal-command-form{padding:10px 12px;gap:8px}.terminal-command-form .terminal-prompt,.terminal-command-form input{font-size:12px}.terminal-quick-commands{padding:11px 12px 5px;gap:6px}.terminal-quick-commands button{font-size:11px;min-height:36px;padding:7px 9px}.terminal-helper{font-size:10px;padding:6px 12px 12px}.terminal-prompt>span:last-child{padding-left:3px}.skill-tooltip{max-width:140px}.experience-record+.experience-record{padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){.skill-icon{transition:none;transform:none!important}}html[data-motion=paused] .skill-icon{transition:none}
