.resume{max-width:100%}.resume-lang-switch{gap:4px;margin-bottom:24px;display:flex}.resume-lang-switch button{font-family:var(--font-sans);border:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:.78rem;transition:all .15s}.resume-lang-switch button:hover{color:var(--text);border-color:var(--text-tertiary)}.resume-lang-switch button.active{color:var(--text);border-color:var(--text);font-weight:500}.resume h1{letter-spacing:-.03em;margin-bottom:4px;font-size:2rem;font-weight:700;line-height:1.2}.resume h1+p{color:var(--text-secondary);margin-bottom:32px;font-size:.88rem}.resume h1+p a{color:var(--accent)}.resume hr{border:none;border-top:1px solid var(--border);margin:28px 0}.resume h2{letter-spacing:-.01em;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:6px;font-size:1.15rem;font-weight:600}.resume h3{color:var(--text);margin-top:20px;margin-bottom:4px;font-size:.95rem;font-weight:600}.resume p{color:var(--text);margin-bottom:8px;font-size:.9rem;line-height:1.7}.resume em{color:var(--text-secondary);font-size:.85rem;font-style:normal}.resume code{font-family:var(--font-mono);color:var(--text-tertiary);float:right;background:0 0;margin-top:2px;padding:0;font-size:.78rem}.resume strong{color:var(--text);font-weight:600}.resume ul,.resume ol{margin-bottom:12px;padding-left:20px}.resume li{color:var(--text);margin-bottom:4px;font-size:.88rem;line-height:1.7}.resume li::marker{color:var(--text-tertiary)}.resume li ul{margin-top:4px;margin-bottom:4px}.resume ol li{padding-left:4px}.resume table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.85rem}.resume th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;font-size:.8rem;font-weight:500}.resume td{color:var(--text);vertical-align:top;border-bottom:1px solid #f0f0f0;padding:8px 12px}.resume tr:last-child td{border-bottom:none}.resume a{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .15s}.resume a:hover{border-bottom-color:var(--accent)}.resume blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:16px 0;padding-left:16px;font-size:.88rem}@media print{.resume{font-size:12px}.resume code{float:right;color:#666}}@media (width<=640px){.resume h1{font-size:1.6rem}.resume code{float:none;margin-top:2px;margin-bottom:4px;display:block}.resume table{font-size:.8rem}.resume th,.resume td{padding:6px 8px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--text:#1a1a1a;--text-secondary:#666;--text-tertiary:#999;--border:#eaeaea;--accent:#0070f3;--accent-hover:#005bb5;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--max-width:720px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.page{max-width:var(--max-width);width:100%;margin:0 auto;padding:48px 24px 96px}@media (width<=640px){html{font-size:14px}.page{padding:32px 16px 64px}}
