:root{--bg: #f5f4ee;--bg-deep: #efece3;--surface: #ffffff;--ink: #1f1e1d;--ink-soft: #6e6a63;--ink-faint: #9b968c;--accent: #d97757;--accent-deep: #b8532f;--accent-tint: #f9ede7;--line: #e8e4db;--radius: 20px;--shadow: 0 1px 2px rgba(31, 30, 29, .04), 0 10px 30px rgba(31, 30, 29, .06);--serif: "Noto Serif SC", "Songti SC", "STSong", serif;--sans: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--accent-deep);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent)}img{max-width:100%;display:block}.container{max-width:1080px;margin:0 auto;padding:0 32px}.nav{position:sticky;top:0;z-index:50;background:#f5f4eee0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;gap:28px;height:60px}.nav-logo{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);display:flex;align-items:center;gap:9px}.nav-logo .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);display:inline-block}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{color:var(--ink-soft);font-size:14px;padding:6px 12px;border-radius:8px}.nav-links a:hover{color:var(--ink);background:var(--bg-deep)}.hero{position:relative;overflow:hidden;padding:96px 0 72px}.hero:before{content:"";position:absolute;top:-220px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(217,119,87,.16) 0%,rgba(217,119,87,.05) 45%,transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;top:120px;left:-200px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(217,119,87,.07) 0%,transparent 65%);pointer-events:none}.hero-inner{position:relative}.hero-kicker{font-size:14px;letter-spacing:.12em;color:var(--accent-deep);font-weight:600;margin-bottom:18px}.hero-title{font-family:var(--serif);font-weight:900;font-size:clamp(38px,6vw,58px);line-height:1.22;letter-spacing:.01em}.hero-tagline{margin-top:22px;font-size:19px;color:var(--ink-soft);max-width:640px}.hero-intro{margin-top:14px;font-size:15px;color:var(--ink-faint);max-width:640px}.hero-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-stat{flex:1 1 150px;padding:22px 24px 20px 0}.hero-stat+.hero-stat{padding-left:24px;border-left:1px solid var(--line)}.hero-stat .v{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--accent);line-height:1.2}.hero-stat .l{font-size:13px;color:var(--ink-soft);margin-top:4px}.hero-contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.contact-chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 16px;transition:border-color .15s ease,color .15s ease}.contact-chip:hover{border-color:var(--accent);color:var(--ink)}.contact-chip .k{color:var(--accent-deep);font-weight:600}.group{padding:64px 0 8px;scroll-margin-top:76px}.group-head{margin-bottom:36px}.group-kicker{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--accent-deep);letter-spacing:.18em}.group-title{font-family:var(--serif);font-weight:900;font-size:32px;margin-top:8px;line-height:1.3}.group-desc{margin-top:10px;color:var(--ink-soft);font-size:15.5px;max-width:680px}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 44px 36px 52px;margin-bottom:28px}.card:before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--accent),#e8a177)}.card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 16px}.card-name{font-family:var(--serif);font-weight:700;font-size:27px;letter-spacing:.01em}.card-subtitle{font-size:16px;color:var(--ink-soft);font-weight:500}.card-badges{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.badge{font-size:12.5px;font-weight:600;color:var(--accent-deep);background:var(--accent-tint);border:1px solid rgba(217,119,87,.25);padding:3px 12px;border-radius:999px;white-space:nowrap}.card-tagline{margin-top:14px;font-size:16.5px;color:var(--ink);max-width:860px}.card-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.metric{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 18px;min-width:128px}.metric .v{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--accent-deep);line-height:1.35}.metric .l{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.metric.long .v{font-size:16px;white-space:normal}.card-highlights{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.highlight .t{font-weight:600;font-size:15.5px;display:flex;align-items:baseline;gap:8px}.highlight .t:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;transform:translateY(-2px)}.highlight .d{margin-top:4px;font-size:14px;color:var(--ink-soft);line-height:1.7}.card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.card-tech{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{font-size:12.5px;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);padding:3px 11px;border-radius:7px;white-space:nowrap}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;font-size:14.5px;font-weight:600;padding:9px 20px;border-radius:10px;transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--accent-deep);color:#fff}.btn .arrow{font-family:var(--sans)}.demo-account{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft);background:var(--accent-tint);border:1px dashed rgba(217,119,87,.5);border-radius:10px;padding:8px 14px}.demo-account code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;color:var(--accent-deep);font-weight:600;background:#d9775714;padding:1px 7px;border-radius:5px}.link-note{flex-basis:100%;font-size:13px;color:var(--ink-faint)}.card-role{font-size:13.5px;color:var(--ink-soft);margin-top:18px}.card-role .k{color:var(--accent-deep);font-weight:600}.card-qr-row{display:flex;align-items:center;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.qr-box{width:132px;height:132px;flex:none;border-radius:14px;border:1.5px dashed rgba(217,119,87,.45);background:var(--accent-tint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--accent-deep);font-size:12.5px;text-align:center;overflow:hidden}.qr-box img{width:100%;height:100%;object-fit:contain}.qr-note{font-size:14px;color:var(--ink-soft)}.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cred-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 28px;display:flex;flex-direction:column}.cred-kicker{font-size:12.5px;font-weight:600;letter-spacing:.08em;color:var(--accent-deep)}.cred-name{font-family:var(--serif);font-weight:700;font-size:19px;margin-top:8px;line-height:1.4}.cred-desc{margin-top:10px;font-size:13.5px;color:var(--ink-soft);line-height:1.7;flex:1}.cred-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cred-links a{font-size:13.5px;font-weight:600}.skills{padding:72px 0 8px;scroll-margin-top:76px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.skill-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 32px}.skill-card h3{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink);padding-bottom:16px;border-bottom:1px solid var(--line)}.skill-card ul{list-style:none;margin-top:6px}.skill-card li{padding:9px 0 9px 20px;font-size:14.5px;color:var(--ink-soft);position:relative;border-bottom:1px dashed var(--line)}.skill-card li:last-child{border-bottom:none}.skill-card li:before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent)}.footer{margin-top:88px;border-top:1px solid var(--line);background:var(--bg-deep);padding:48px 0 40px;scroll-margin-top:76px}.footer-contact{display:flex;flex-wrap:wrap;gap:10px}.footer-meta{margin-top:26px;font-size:13px;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:6px 18px}@media(max-width:900px){.card-highlights,.skills-grid,.cred-grid{grid-template-columns:1fr}.card-badges{margin-left:0}}@media(max-width:640px){.container{padding:0 20px}.card{padding:28px 24px 24px 32px}.nav-links{display:none}.hero{padding:64px 0 48px}.hero-stat+.hero-stat{padding-left:16px}.card-actions{margin-left:0}.metric{min-width:0;flex:1 1 calc(50% - 12px)}}@media print{.nav,.hero:before,.hero:after{display:none}body{background:#fff}.card{box-shadow:none;page-break-inside:avoid}.skill-card{box-shadow:none}.btn{border:1px solid var(--accent-deep);color:var(--accent-deep);background:none}}
