:root{--bg: #ffffff;--text: #111111;--muted: #555555;--border: #e6e6e6;--card: #fafafa;--link: #111111;--highlight: #e8f4f8}:root[data-theme=dark]{--bg: #000000;--text: #f1f1f1;--muted: #b5b5b5;--border: #222222;--card: #101010;--link: #f1f1f1;--highlight: #1a2a2f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,ui-sans-serif,system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.55}a{color:var(--link);text-decoration:underline;text-underline-offset:3px}a:hover{opacity:.85}.page{max-width:1000px;margin:0 auto;padding:28px 24px 60px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.brand{display:flex;gap:12px;align-items:center;min-width:240px}.logo{width:44px;height:44px;object-fit:contain}.name{font-weight:700;font-size:1.25rem}.meta{color:var(--muted);font-size:.875rem}.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.themeBtn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:7px 10px;cursor:pointer;font-size:.875rem}.themeBtn:hover{opacity:.9}.main{padding-top:18px}.section{padding:50px 0;border-bottom:1px solid var(--border);scroll-margin-top:100px}#about{padding-top:80px}.sectionTitle{margin:0 0 24px;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.sectionBody p{margin:8px 0;font-size:1rem;line-height:1.6}.nameHighlight{font-weight:700;transition:font-size .2s ease;position:relative;display:inline-block;color:var(--text);cursor:default}.nameHighlight:hover{font-size:1.5em;font-weight:700;cursor:default;background:linear-gradient(90deg,var(--text) 0%,var(--text) 30%,rgba(255,215,0,.3) 40%,rgba(255,215,0,.6) 45%,rgba(255,215,0,.9) 50%,rgba(255,215,0,.6) 55%,rgba(255,215,0,.3) 60%,var(--text) 70%,var(--text) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 16s ease-in-out infinite;transition:font-size .2s ease}@keyframes shimmer{0%{background-position:-200% 0}50%{background-position:200% 0}to{background-position:-200% 0}}:root[data-theme=dark] .nameHighlight:hover{background:linear-gradient(90deg,#f1f1f1 0% 30%,#ffd70066 40%,#ffd700b3,gold,#ffd700b3,#ffd70066 60%,#f1f1f1 70% 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 16s ease-in-out infinite}.stack{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.stack>*{grid-column:span 2}.stack>:only-child{grid-column:1 / -1}.stack>:nth-child(1):nth-last-child(2){grid-column:span 3}.stack>:nth-child(2):nth-last-child(1){grid-column:span 3}.card{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:18px;scroll-margin-top:100px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:scale(1.06);box-shadow:0 12px 32px #0003;border-color:var(--text)}:root[data-theme=dark] .card:hover{box-shadow:0 12px 32px #ffffff1a}.projectCard{cursor:pointer}.card.highlight{animation:highlight-pulse 1.5s ease-out}@keyframes highlight-pulse{0%{background-color:var(--card);box-shadow:0 0 #0000}50%{background-color:var(--highlight);box-shadow:0 0 20px 5px #0000001a}to{background-color:var(--card);box-shadow:0 0 #0000}}.cardTitle{margin:0 0 6px;font-size:1.2rem;font-weight:600;letter-spacing:-.01em}.cardSubtitle{color:var(--muted);font-size:.875rem;margin-top:4px;margin-bottom:12px;line-height:1.5}.bullets{margin:0;padding-left:20px;font-size:.95rem;line-height:1.6}.bullets li{margin:6px 0}.linkRow{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;align-items:center}.linkRow a{font-size:.9rem;display:inline-flex;align-items:center;text-decoration:none}.linkIcon{width:20px;height:20px;transition:opacity .2s ease}.linkRow a:hover .linkIcon{opacity:.85}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.footer{padding-top:18px;font-size:.95rem;display:flex;justify-content:space-between}.skillSearch{margin-bottom:20px}.skillInput{width:100%;max-width:400px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-family:inherit;font-size:1rem}.skillInput:focus{outline:none;border-color:var(--text)}.skillTags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.skillTag{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer;transition:opacity .2s}.skillTag:hover{opacity:.8}.expandSkillsText{color:var(--muted);font-size:.9rem;cursor:pointer;transition:color .2s ease;align-self:center;padding:6px 0}.expandSkillsText:hover{color:var(--text);text-decoration:underline}.itemSkills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.itemSkillTag{padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);font-size:.8rem;font-family:inherit}.searchResults{margin-top:24px}.searchResults .cardTitle{font-size:1.1rem;margin-bottom:12px}.searchResultList{list-style:none;padding:0;margin:0}.searchResultList li{margin:8px 0}.searchResultLink{color:var(--link);text-decoration:underline;text-underline-offset:3px;font-size:.95rem}.searchResultLink:hover{opacity:.85}
