:root{--bg: #f4efe7;--bg-paper: #fbf8f3;--bg-soft: #efe7de;--surface: rgba(255, 251, 246, .9);--surface-strong: #fffdf9;--surface-muted: #f6efe7;--text: #2c2926;--muted: #6f6861;--line: rgba(86, 72, 60, .14);--line-strong: rgba(86, 72, 60, .22);--accent: #8a5a44;--accent-strong: #704532;--accent-soft: rgba(138, 90, 68, .1);--warn: #9a6b42;--shadow: 0 18px 48px rgba(68, 48, 34, .08);--radius-xl: 30px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 999px;--max-width: 1140px;--font-sans: "Aptos", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", "Times New Roman", "Noto Serif TC", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(138,90,68,.09),transparent 24%),radial-gradient(circle at 90% 16%,rgba(175,145,120,.12),transparent 18%),linear-gradient(180deg,var(--bg-paper) 0%,var(--bg) 48%,#f1e9df 100%)}a{color:inherit;text-decoration:none}button{font:inherit}[data-lang-text]{display:none}html[data-lang=zh] [data-lang-text=zh],html[data-lang=en] [data-lang-text=en]{display:inline}.page-shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:28px 0 88px}.hero,.section,.contact-card,.experience-card,.skill-card{border:1px solid var(--line);box-shadow:var(--shadow)}.hero{position:relative;overflow:hidden;padding:30px;border-radius:38px;background:linear-gradient(180deg,#ffffffa6,#fffbf6eb),linear-gradient(135deg,rgba(138,90,68,.04),transparent 52%)}.hero:before{content:"";position:absolute;inset:36px auto auto 42px;width:120px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.6}.topbar,.hero-grid,.hero-name,.hero-actions,.experience-header,.contact-link{display:flex;gap:20px}.topbar,.experience-header{justify-content:space-between;align-items:flex-start}.brand{display:grid;gap:4px;font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand small{color:var(--muted);font-family:var(--font-sans);font-size:.8rem;letter-spacing:.04em}.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.nav a,.lang-button{padding:.62rem .95rem;border-radius:var(--radius-sm);color:var(--muted);transition:color .2s ease,background-color .2s ease,border-color .2s ease}.nav a:hover,.lang-button:hover,.lang-button[aria-pressed=true]{color:var(--accent-strong);background:#8a5a4414}.lang-switch{display:flex;gap:8px}.lang-button{border:1px solid var(--line);background:#ffffff59;cursor:pointer}.hero-grid{position:relative;margin-top:58px;align-items:start}.hero-grid>*{flex:1}.eyebrow,.panel-kicker,.section-label,.section-index{margin:0;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-index{letter-spacing:.04em}.hero-copy{padding-right:14px}.hero-english{margin:0 0 10px;color:var(--muted);font-size:.88rem;letter-spacing:.18em;text-transform:uppercase}h1,h2,.headline,.company-name,.skill-title,.project-name,.contact-link-label,.sidecard-title{margin:0}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}h1{font-size:clamp(3rem,7vw,5.3rem);line-height:.96}h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.04}.hero-name{margin-top:14px;justify-content:space-between;align-items:flex-start}.avatar-frame{width:clamp(112px,12vw,152px);aspect-ratio:.88;flex-shrink:0;padding:8px;border:1px solid rgba(86,72,60,.18);border-radius:26px;background:linear-gradient(180deg,#ffffffc7,#f5ede3f2)}.avatar-image,.avatar-fallback{width:100%;height:100%;border-radius:20px}.avatar-image{display:block;object-fit:cover;object-position:center 18%;filter:saturate(.9) contrast(1.01)}.avatar-fallback{display:grid;place-items:center;background:#8a5a440f;font-family:var(--font-display);font-size:2rem}.headline{margin-top:24px;font-size:clamp(1.2rem,2.2vw,1.65rem);color:var(--accent-strong)}.intro,.summary-copy p,.experience-summary,.contact-copy,.project-list li,.experience-highlights li{color:var(--muted);font-size:1.02rem;line-height:1.92}.intro{max-width:69ch;margin:20px 0 0}.specialty-row,.focus-list,.tag-list,.contact-links{display:flex;flex-wrap:wrap;gap:12px}.specialty-row{margin-top:26px}.specialty-tag,.focus-chip,.tag{display:inline-flex;align-items:center;min-height:36px;padding:.42rem .85rem;border-radius:var(--radius-sm)}.specialty-tag{background:#8a5a440f;border:1px solid rgba(138,90,68,.1);color:var(--accent-strong)}.hero-actions{flex-wrap:wrap;margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.82rem 1.26rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600}.button.primary{background:var(--accent-strong);color:#fffdf9}.button.secondary{background:#ffffff59;color:var(--accent-strong);border-color:var(--line)}.button.is-disabled{color:var(--muted);cursor:not-allowed}.hero-panel{display:grid;gap:18px;padding:26px 24px;border-left:1px solid var(--line)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.stat-card,.summary-sidecard,.project-card,.contact-link{border:1px solid var(--line);background:#ffffff75}.stat-card{padding:18px;border-radius:18px}.stat-card strong{display:block;margin-bottom:8px;font-family:var(--font-display);font-size:2rem;color:var(--accent-strong)}.stat-card span{color:var(--muted);line-height:1.55}.focus-panel{padding-top:6px}.focus-list{margin-top:16px}.focus-chip{background:var(--surface-muted);color:var(--accent-strong)}.section{margin-top:24px;padding:30px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff8f,#fffaf4e6)}.section-heading,.summary-grid{display:grid;gap:18px}.section-heading{grid-template-columns:1fr;gap:10px;align-items:start}.section-heading-copy{display:grid;gap:4px}.section-heading-meta{display:flex;align-items:center;gap:10px}.section-index{min-width:2ch;padding-top:0;font-size:.72rem;letter-spacing:.08em}.summary-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);margin-top:30px;align-items:start}.summary-copy{display:grid;gap:16px;align-content:start}.summary-copy p{margin:0}.summary-sidecard{padding:22px;border-radius:22px}.sidecard-title{font-family:var(--font-display);font-size:1.14rem;color:var(--accent-strong)}.plain-list{margin:16px 0 0;padding:0;list-style:none}.plain-list li{position:relative;padding-left:18px;color:var(--muted);line-height:1.84}.plain-list li:before{content:"";position:absolute;left:0;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.experience-list,.skills-grid{display:grid;gap:18px;margin-top:30px}.experience-card,.skill-card,.contact-card{padding:24px;border-radius:24px;background:#fff6}.company-name,.project-name,.skill-title{font-family:var(--font-display);font-size:1.38rem;color:var(--text)}.company-role,.company-period{margin:8px 0 0;color:var(--muted)}.company-period{text-align:right;white-space:nowrap}.experience-summary{margin:18px 0 0}.project-stack{display:grid;gap:14px;margin-top:22px}.project-card{padding:18px 18px 8px;border-radius:20px}.project-list,.experience-highlights{margin-top:14px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{min-height:220px}.tag-list{margin-top:18px}.tag{background:#ffffff94;color:var(--accent-strong);border:1px solid rgba(138,90,68,.1)}.contact-card{margin-top:30px;display:grid;gap:14px}.contact-copy{margin:0;max-width:52ch}.contact-links{margin-top:2px}.contact-links.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-link{align-items:center;min-width:0;padding:15px 16px;border-radius:18px}.contact-link:hover{border-color:#8a5a4442}.contact-icon{display:inline-grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#8a5a4414;color:var(--accent-strong)}.contact-icon svg{width:19px;height:19px}.contact-text{display:grid;gap:4px}.contact-link-label{font-family:var(--font-display);font-size:1.02rem}.contact-link-note{color:var(--warn);font-size:.88rem;line-height:1.5}@media(max-width:980px){.topbar,.hero-grid,.hero-name,.experience-header,.summary-grid,.skills-grid{display:grid;grid-template-columns:1fr}.topbar{gap:16px}.nav{justify-content:flex-start}.hero-copy{padding-right:0}.hero-name{justify-items:start}.avatar-frame{width:136px}.hero-panel{padding:18px 0 0;border-left:none;border-top:1px solid var(--line)}.hero-actions{margin-top:2px}.stat-grid{grid-template-columns:1fr}.company-period{text-align:left}.contact-links.compact{grid-template-columns:1fr}}@media(max-width:640px){.page-shell{width:min(calc(100% - 1rem),var(--max-width));padding-top:12px}.hero,.section,.experience-card,.skill-card,.contact-card{padding:20px}.section-heading{grid-template-columns:1fr}.hero-grid{margin-top:36px}.contact-link{min-width:0}}
