:root,[data-theme=dark]{--zodiac-cinnabar:#b4202a;--zodiac-cinnabar-dark:#7a151c;--zodiac-cinnabar-light:#d44a52;--zodiac-cinnabar-dim:#b4202a1f;--zodiac-gold:#d4a84b;--zodiac-gold-light:#f0d58a;--zodiac-gold-dark:#a8832f;--zodiac-gold-dim:#d4a84b24;--zodiac-ink:#1f1a17;--zodiac-ink-soft:#3d322b;--zodiac-paper:#f7f3ea;--zodiac-paper-soft:#fdf9f0;--zodiac-paper-dark:#ebe4d6;--zodiac-jade:#5e8b7e;--bg-page:#1a1714;--bg-card:#231e1aeb;--bg-card-hover:#2d2621f5;--bg-nav:#1a1714eb;--border-color:#f4edde1a;--border-glow:#d4a84b1f;--border-hi:#f4edde29;--text-primary:#f7f3ea;--text-secondary:#d9cfc0;--text-muted:#a89b8c;--text-accent:#f0d58a;--text-on-accent:#1f1a17;--fs-hero:clamp(2rem, 3.4vw, 2.75rem);--fs-h1:22px;--fs-h2:20px;--fs-h3:18px;--fs-body:16px;--fs-sm:14px;--fs-xs:12px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--ls-tight:.02em;--ls-normal:.04em;--ls-wide:.08em;--ls-label:.12em;--accent-blue:var(--zodiac-cinnabar-light);--accent-blue-dim:#d44a5224;--accent-green:var(--zodiac-jade);--accent-green-dim:#5e8b7e1f;--accent-orange:var(--zodiac-gold);--accent-gold:var(--zodiac-gold);--accent-gold-dim:var(--zodiac-gold-dim);--shadow-glow:0 0 24px #d4a84b24;--shadow-card:0 12px 36px #00000052;--gradient-bg:none;--hero-bg:transparent;--hero-panel-bg:#231e1ab8;--hero-info-bg:#d4a84b14;--section-tint-personal:#d4a84b0f;--section-tint-personal-border:#d4a84b47;--section-tint-education:#5e8b7e0f;--section-tint-education-border:#5e8b7e40;--section-tint-awards:#b4202a0f;--section-tint-awards-border:#b4202a47;--section-tint-skills:#d4a84b0d;--section-tint-skills-border:#d4a84b38;--section-tint-projects:#5e8b7e0d;--section-tint-projects-border:#5e8b7e38;--section-tint-evaluation:#b4202a0d;--section-tint-evaluation-border:#b4202a38;--page-padding-x:clamp(40px, 8vw, 140px);--page-padding-y:20px;--content-gap:18px;--page-max-width:1280px;--card-text-base:var(--fs-body);--card-text-sm:var(--fs-sm);--card-text-title:var(--fs-h3);--card-line-height:1.72;--card-fixed-height:clamp(280px, 38vh, 340px);--modal-max-width:880px;--modal-max-height:82vh;--tech-grid-line:#f4edde0d;--tech-grid-size:60px;--tech-corner-size:12px;--tech-corner-thickness:2px;--tech-corner-color:var(--zodiac-gold);--tech-glow-strong:0 0 28px #d4a84b3d;--tech-glow-soft:0 0 14px #d4a84b1f;--tech-border-gradient:linear-gradient(90deg, transparent, var(--zodiac-gold), transparent);--tech-scrollbar-thumb:#d4a84b59;--tech-scrollbar-thumb-hover:#d4a84b8c;--font-mono:"JetBrains Mono", "Cascadia Mono", "Consolas", monospace;--font-display:"Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", "PingFang SC", "Microsoft YaHei", serif;--font-body:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;--accent-purple:var(--zodiac-gold);--accent-purple-dim:var(--zodiac-gold-dim);--tech-gradient-cp:linear-gradient(90deg, var(--zodiac-cinnabar-light), var(--zodiac-gold));--tech-gradient-cp-135:linear-gradient(135deg, var(--zodiac-cinnabar-light), var(--zodiac-gold));--bg-page-gradient:radial-gradient(560px 420px at 12% -6%, #7a151c47, transparent 58%), radial-gradient(480px 360px at 88% 8%, #a8832f2e, transparent 60%), linear-gradient(180deg, #1a1714 0%, #231e18 48%, #1a1714 100%);--glass-bg:#231e1ab8;--glass-blur:20px;--glass-border:#d4a84b2e;--tech-glow-gradient:0 0 28px #d4a84b2e, 0 0 22px #b4202a1a;--tech-grid-mix:#f4edde08;--ease-out:cubic-bezier(.22, 1, .36, 1);--t-fast:.15s var(--ease-out);--t-norm:.3s var(--ease-out);--resume-card-bg:#231e1aeb;--resume-card-border:#f4edde1a;--resume-text:#f7f3ea;--resume-text-body:#d9cfc0;--resume-text-muted:#a89b8c;--resume-accent:var(--zodiac-gold);--resume-tag-border:#f4edde29;--resume-btn-bg:linear-gradient(135deg, var(--zodiac-cinnabar) 0%, var(--zodiac-cinnabar-dark) 100%);--resume-btn-text:#f7f3ea}[data-theme=light]{--bg-page:var(--zodiac-paper);--bg-card:#fdf9f0f0;--bg-card-hover:#fffffffa;--bg-nav:#f7f3eaf0;--border-color:#3d322b1f;--border-glow:#d4a84b1f;--border-hi:#3d322b2e;--text-primary:var(--zodiac-ink);--text-secondary:var(--zodiac-ink-soft);--text-muted:#7a6b5a;--text-accent:var(--zodiac-cinnabar);--text-on-accent:#f7f3ea;--accent-blue:var(--zodiac-cinnabar);--accent-blue-dim:var(--zodiac-cinnabar-dim);--accent-green:var(--zodiac-jade);--accent-green-dim:#5e8b7e1a;--accent-orange:var(--zodiac-gold-dark);--accent-gold:var(--zodiac-gold);--accent-gold-dim:var(--zodiac-gold-dim);--shadow-glow:0 20px 48px #b4202a1a;--shadow-card:0 12px 36px #3d322b1a;--hero-bg:transparent;--hero-panel-bg:#fdf9f0e6;--hero-info-bg:#d4a84b14;--section-tint-personal:#d4a84b0d;--section-tint-personal-border:#d4a84b3d;--section-tint-education:#5e8b7e0a;--section-tint-education-border:#5e8b7e33;--section-tint-awards:#b4202a0a;--section-tint-awards-border:#b4202a38;--section-tint-skills:#d4a84b0a;--section-tint-skills-border:#d4a84b33;--section-tint-projects:#5e8b7e0a;--section-tint-projects-border:#5e8b7e33;--section-tint-evaluation:#b4202a0a;--section-tint-evaluation-border:#b4202a33;--tech-grid-line:#3d322b0d;--tech-corner-color:var(--zodiac-gold);--tech-glow-strong:0 0 20px #d4a84b29;--tech-glow-soft:0 0 12px #d4a84b1a;--tech-border-gradient:linear-gradient(90deg, transparent, var(--zodiac-gold), transparent);--tech-scrollbar-thumb:#a8832f52;--tech-scrollbar-thumb-hover:#a8832f80;--bg-page-gradient:radial-gradient(520px 360px at 14% -4%, #b4202a14, transparent 56%), radial-gradient(460px 320px at 86% 6%, #d4a84b1a, transparent 54%), linear-gradient(180deg, var(--zodiac-paper-soft) 0%, var(--zodiac-paper) 48%, var(--zodiac-paper-dark) 100%);--glass-bg:#fdf9f0e0;--glass-blur:20px;--glass-border:#a8832f38;--tech-glow-gradient:0 0 22px #d4a84b1a, 0 0 16px #b4202a14;--tech-grid-mix:#3d322b08;--resume-card-bg:#fdf9f0eb;--resume-card-border:#a8832f38;--resume-card-shadow:0 12px 36px #3d322b14;--resume-text:var(--zodiac-ink);--resume-text-body:var(--zodiac-ink-soft);--resume-text-muted:#7a6b5a;--resume-accent:var(--zodiac-cinnabar);--resume-tag-border:#b4202a38;--resume-btn-bg:linear-gradient(135deg, var(--zodiac-cinnabar) 0%, var(--zodiac-cinnabar-dark) 100%);--resume-btn-text:#f7f3ea}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-regular);letter-spacing:var(--ls-normal);background:var(--bg-page-gradient);color:var(--text-secondary);line-height:var(--card-line-height);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed}body:before{content:"";pointer-events:none;z-index:-1;background-image:url(/zodiac/cloud-pattern.svg), linear-gradient(var(--tech-grid-mix) 1px, transparent 1px), linear-gradient(90deg, var(--tech-grid-mix) 1px, transparent 1px);background-size:200px 200px, var(--tech-grid-size) var(--tech-grid-size), var(--tech-grid-size) var(--tech-grid-size);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000073,#0000 78%);mask-image:linear-gradient(#00000073,#0000 78%)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);letter-spacing:var(--ls-tight);font-weight:var(--fw-bold);line-height:1.35}button,input,textarea,select{font:inherit;letter-spacing:inherit}strong,b{font-weight:var(--fw-bold)}::selection{color:var(--text-primary);background:#b4202a2e}[data-theme=dark] ::selection{color:var(--text-primary);background:#d4a84b38}#app{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}ul{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--tech-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--tech-scrollbar-thumb-hover)}.tech-top-line{background:var(--tech-gradient-cp);pointer-events:none;z-index:2;background-size:200% 100%;height:2px;animation:5s linear infinite techScan;position:absolute;top:0;left:0;right:0}@keyframes techScan{0%{background-position:100% 0}to{background-position:-100% 0}}.tech-corners>.corner{width:var(--tech-corner-size);height:var(--tech-corner-size);border-color:var(--tech-corner-color);pointer-events:none;z-index:2;opacity:.7;position:absolute}.tech-corners>.corner-tl{border-top:var(--tech-corner-thickness) solid;border-left:var(--tech-corner-thickness) solid;top:6px;left:6px}.tech-corners>.corner-tr{border-top:var(--tech-corner-thickness) solid;border-right:var(--tech-corner-thickness) solid;top:6px;right:6px}.tech-corners>.corner-bl{border-bottom:var(--tech-corner-thickness) solid;border-left:var(--tech-corner-thickness) solid;bottom:6px;left:6px}.tech-corners>.corner-br{border-bottom:var(--tech-corner-thickness) solid;border-right:var(--tech-corner-thickness) solid;bottom:6px;right:6px}.tech-grid-bg{background-image:linear-gradient(var(--bg-card), var(--bg-card)), linear-gradient(var(--tech-grid-mix) 1px, transparent 1px), linear-gradient(90deg, var(--tech-grid-mix) 1px, transparent 1px);background-size:100% 100%, var(--tech-grid-size) var(--tech-grid-size), var(--tech-grid-size) var(--tech-grid-size)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-card)}@keyframes techPulse{0%,to{box-shadow:0 0 16px #d4a84b3d}50%{box-shadow:0 0 28px #b4202a47}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRing{0%{box-shadow:0 0 #d4a84b59}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.page-content{width:100%;max-width:var(--page-max-width);box-sizing:border-box;padding:var(--page-padding-y) var(--page-padding-x);margin:0 auto}.cards-grid .resume-card{animation:fadeInUp .55s var(--ease-out) both}.cards-grid .resume-card:first-child{animation-delay:50ms}.cards-grid .resume-card:nth-child(2){animation-delay:.1s}.cards-grid .resume-card:nth-child(3){animation-delay:.15s}.cards-grid .resume-card:nth-child(4){animation-delay:.2s}.cards-grid .resume-card:nth-child(5){animation-delay:.25s}.cards-grid .resume-card:nth-child(6){animation-delay:.3s}.nav-auth-wrap[data-v-34f30d8e]{position:relative}.nav-avatar-btn[data-v-34f30d8e]{cursor:pointer;background:#f7f3ea;border:1px solid #a8832f59;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.nav-avatar-btn[data-v-34f30d8e]:hover,.nav-auth-wrap:hover .nav-avatar-btn[data-v-34f30d8e]{border-color:var(--zodiac-cinnabar);box-shadow:0 0 0 3px #b4202a24}.nav-avatar-btn.is-logged-in[data-v-34f30d8e]{border-color:var(--zodiac-gold)}.nav-auth-wrap.is-hero .nav-avatar-btn[data-v-34f30d8e]{background:linear-gradient(#f7f3ea,#f7f3ea) padding-box padding-box,linear-gradient(135deg,#f4d47c 0%,#d4a84b 40%,#b4202a 100%) border-box;border:3px solid #0000;border-radius:50%;width:116px;height:116px;position:relative;box-shadow:0 6px 22px #74261938,inset 0 0 0 4px #b4202a0f}.nav-auth-wrap.is-hero .nav-avatar-btn[data-v-34f30d8e]:before{content:"";pointer-events:none;border:1px dashed #f4d47c8c;border-radius:50%;animation:24s linear infinite avatarRotate-34f30d8e;position:absolute;inset:-9px}.nav-auth-wrap.is-hero .nav-avatar-btn[data-v-34f30d8e]:hover,.nav-auth-wrap.is-hero:hover .nav-avatar-btn[data-v-34f30d8e]{border-color:#0000;box-shadow:0 0 0 4px #f4d47c38,0 8px 26px #74261947}@keyframes avatarRotate-34f30d8e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-avatar-img[data-v-34f30d8e]{object-fit:cover;object-position:center;border-radius:50%;width:100%;min-width:100%;height:100%;min-height:100%;display:block}.nav-auth-dropdown{z-index:1200;box-sizing:border-box;background:#fff8e8;border:1px solid #b21f2d33;border-radius:10px;padding:6px;position:fixed;box-shadow:0 14px 30px #7426192e}.nav-auth-dropdown:before{content:"";height:14px;position:absolute;top:-14px;left:0;right:0}.nav-auth-dropdown button{color:#2a130d;width:100%;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;text-align:center;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 14px;transition:background .2s,color .2s;display:block}.nav-auth-dropdown button:hover{color:#b21f2d;background:#b21f2d14}.nav-auth-dropdown-enter-active,.nav-auth-dropdown-leave-active{transition:opacity .15s,transform .15s}.nav-auth-dropdown-enter-from,.nav-auth-dropdown-leave-to{opacity:0;transform:translateY(-6px)}.app-nav[data-v-f7ac98c1]{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f3eaeb;border-bottom:1px solid #a8832f47;position:sticky;top:0}[data-theme=dark]{background:#121723eb;border-bottom-color:#ffffff14}.nav-inner[data-v-f7ac98c1]{width:100%;max-width:var(--page-max-width);padding:0 var(--page-padding-x);box-sizing:border-box;justify-content:center;align-items:center;height:56px;margin:0 auto;display:flex;position:relative}.nav-links[data-v-f7ac98c1]{justify-content:center;align-items:center;gap:4px;display:flex}.nav-link[data-v-f7ac98c1]{color:var(--zodiac-ink-soft);cursor:pointer;white-space:nowrap;padding:8px 16px;font-size:16px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link[data-v-f7ac98c1]:hover{color:var(--zodiac-ink)}.nav-link.active[data-v-f7ac98c1]{color:var(--zodiac-cinnabar)}.nav-link.active[data-v-f7ac98c1]:after{content:"";background:var(--zodiac-cinnabar);border-radius:1px;width:28px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}[data-theme=dark]{background:var(--zodiac-gold)}.nav-dropdown-wrap[data-v-f7ac98c1]{position:relative}.nav-dropdown[data-v-f7ac98c1]{opacity:0;visibility:hidden;pointer-events:none;z-index:110;text-align:center;background:#fffdf8;border:1px solid #a8832f47;border-radius:10px;min-width:180px;padding:6px;transition:opacity .2s,visibility .2s,transform .2s;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)translateY(-6px);box-shadow:0 8px 24px #00000014}.nav-dropdown[data-v-f7ac98c1]:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.nav-dropdown-wrap:hover .nav-dropdown[data-v-f7ac98c1]{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.nav-dropdown-item[data-v-f7ac98c1]{color:var(--zodiac-ink-soft);text-align:center;white-space:nowrap;cursor:pointer;border-radius:6px;padding:9px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:block}[data-theme=dark]{color:#d9cfc0}.nav-dropdown-item[data-v-f7ac98c1]:hover{color:var(--zodiac-cinnabar);background:#b4202a0f}.nav-actions[data-v-f7ac98c1]{right:var(--page-padding-x);align-items:center;gap:10px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@media (width<=768px){.nav-link[data-v-f7ac98c1]{padding:6px 10px;font-size:14px}}.admin-edit-nav[data-v-844cff85]{z-index:100;background:linear-gradient(var(--bg-nav), var(--bg-nav)), linear-gradient(var(--tech-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--tech-grid-line) 1px, transparent 1px);background-size:100% 100%, var(--tech-grid-size) var(--tech-grid-size), var(--tech-grid-size) var(--tech-grid-size);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.admin-edit-nav[data-v-844cff85]:after{content:"";background:var(--tech-gradient-cp);pointer-events:none;background-size:200% 100%;height:2px;animation:4s linear infinite techScan;position:absolute;bottom:-1px;left:0;right:0}.nav-inner[data-v-844cff85]{width:100%;max-width:var(--page-max-width);padding:0 var(--page-padding-x);justify-content:center;align-items:center;height:52px;margin:0 auto;display:flex;position:relative}.nav-links[data-v-844cff85]{justify-content:center;align-items:center;gap:32px;display:flex}.nav-link[data-v-844cff85]{color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 14px;font-size:21px;text-decoration:none;transition:color .2s,background .2s,text-shadow .2s;position:relative}.nav-link[data-v-844cff85]:hover{color:var(--text-primary);background:var(--accent-blue-dim);text-shadow:0 0 8px var(--border-glow)}.nav-link.active[data-v-844cff85]{color:var(--accent-blue);text-shadow:0 0 10px var(--accent-blue)}.nav-link.active[data-v-844cff85]:after{content:"";background:var(--tech-gradient-cp);width:24px;height:2px;box-shadow:0 0 10px var(--accent-blue), 0 0 16px var(--accent-purple);border-radius:1px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}@media (width<=768px){.nav-link[data-v-844cff85]{padding:4px 10px;font-size:21px}.nav-links[data-v-844cff85]{gap:20px}}.bg-fx[data-v-da06e684]{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-orb[data-v-da06e684]{filter:blur(140px);border-radius:50%;animation:18s ease-in-out infinite alternate orbDrift-da06e684;position:absolute}.bg-orb-1[data-v-da06e684]{background:var(--accent-blue);opacity:.04;width:700px;height:700px;top:-15%;left:-10%}.bg-orb-2[data-v-da06e684]{background:var(--accent-gold,#fbbf24);opacity:.03;width:520px;height:520px;animation-delay:-6s;top:45%;right:-15%}.bg-grid[data-v-da06e684]{background-image:linear-gradient(#ffffff03 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}@keyframes orbDrift-da06e684{0%{transform:translate(0)scale(1)}to{transform:translate(40px,30px)scale(1.06)}}.app-shell{min-height:100vh;position:relative}.app-content{z-index:1;position:relative}.hero-banner[data-v-bd5e1c27]{--hero-text:#2a130d;--hero-gold:#9e1f27;color:var(--hero-text);font-family:var(--font-display);background:radial-gradient(560px 180px at 15% 18%,#ffffffc7,#0000 72%),radial-gradient(480px 180px at 84% 12%,#ffffffb3,#0000 70%),linear-gradient(#fff9ed 0%,#fcefd8 100%);border-top:3px solid #b4202a;border-bottom:1px solid #d4a84b7a;min-height:190px;position:relative;overflow:hidden;box-shadow:0 8px 24px #744a2224}.hero-banner[data-v-bd5e1c27]:before{content:"";pointer-events:none;z-index:1;opacity:.16;mix-blend-mode:multiply;background-image:url(/zodiac/cloud-pattern.svg);background-size:240px 240px;position:absolute;inset:0}.hero-banner[data-v-bd5e1c27]:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff9edc7 0%,#fff9ed47 23%,#0000 44% 64%,#fff9ed80 83%,#fff9edcc 100%),linear-gradient(#fff9ed33,#fcefd861);position:absolute;inset:0}.hero-inner[data-v-bd5e1c27]{z-index:3;width:var(--showcase-main-width,62%);box-sizing:border-box;justify-content:space-between;align-items:center;gap:48px;min-height:187px;margin:0 auto;padding:26px 0;display:flex;position:relative}.hero-info-panel[data-v-bd5e1c27]{min-width:0;font-weight:var(--fw-bold);grid-template-columns:max-content max-content;grid-template-areas:"name contacts""extra contacts""title contacts";align-items:center;gap:8px clamp(56px,7vw,128px);display:grid}.hero-name[data-v-bd5e1c27]{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:var(--fw-extrabold);letter-spacing:.04em;color:var(--hero-text);text-shadow:0 1px #ffffffd1;grid-area:name;margin:0;line-height:1.15}.hero-title[data-v-bd5e1c27]{font-size:calc(var(--fs-body) + 1px);font-weight:var(--fw-bold);color:var(--hero-text);letter-spacing:.06em;grid-area:title;margin:0}.hero-extra-titles[data-v-bd5e1c27]{flex-direction:column;grid-area:extra;gap:4px;min-width:0;display:flex}.hero-extra-title[data-v-bd5e1c27]{font-size:calc(var(--fs-h2) + 1px);font-weight:var(--fw-extrabold);color:var(--hero-text);margin:0;line-height:1.24}.hero-contacts[data-v-bd5e1c27]{grid-area:contacts;grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.contact-item[data-v-bd5e1c27]{border-left:2px solid #b4202a80;grid-template-columns:3em minmax(0,1fr);align-items:baseline;gap:14px;min-width:0;padding-left:14px;display:grid}.contact-label[data-v-bd5e1c27]{font-size:calc(var(--fs-xs) + 1px);font-weight:var(--fw-bold);letter-spacing:.08em;color:#9e1f27}.contact-value[data-v-bd5e1c27]{font-size:calc(var(--fs-sm) + 1px);font-weight:var(--fw-extrabold);color:var(--hero-text);word-break:break-all}.zodiac-scene[data-v-bd5e1c27]{z-index:0;opacity:.2;filter:saturate(.82)contrast(.94);mix-blend-mode:multiply;pointer-events:none;width:100%;height:auto;display:block;position:absolute;bottom:0;left:0;right:0}@media (width<=900px){.hero-inner[data-v-bd5e1c27]{align-items:flex-start;gap:24px;width:min(100% - 32px,620px);padding:22px 0}.hero-info-panel[data-v-bd5e1c27]{grid-template-columns:1fr;grid-template-areas:"name""extra""title""contacts";row-gap:10px}.zodiac-scene[data-v-bd5e1c27]{opacity:.14;width:900px;bottom:8px;left:50%;right:auto;transform:translate(-50%)}}@media (width<=520px){.hero-banner[data-v-bd5e1c27]{min-height:220px}.hero-inner[data-v-bd5e1c27]{min-height:217px}.zodiac-scene[data-v-bd5e1c27]{opacity:.1;width:720px;bottom:8px;left:50%;right:auto;transform:translate(-50%)}}.qa-root[data-v-36fd103d]{z-index:999;font-family:var(--font-display);position:fixed;inset:auto 28px 138px auto;transform:none}.qa-float[data-v-36fd103d]{cursor:pointer;width:68px;height:68px;color:inherit;filter:drop-shadow(0 8px 18px #74261929);background:#fff8e8;border:1px solid #d4a84b80;border-radius:12px;justify-content:center;align-items:center;gap:0;padding:0;transition:transform .22s,filter .22s;animation:2.8s ease-in-out infinite qa-bob-36fd103d;display:flex;position:relative;overflow:visible;box-shadow:0 16px 34px #7426192e,0 0 0 7px #d4a84b29}.qa-float[data-v-36fd103d]:before{display:none}.qa-float[data-v-36fd103d]:after{content:"AI助手";color:#fff8e8;font-size:12px;font-weight:var(--fw-bold);white-space:nowrap;background:#b21f2d;border-radius:999px;padding:3px 8px;line-height:1.2;position:absolute;bottom:-20px;left:50%;transform:translate(-50%);box-shadow:0 6px 14px #74261947}.qa-float[data-v-36fd103d]:hover,.qa-float.active[data-v-36fd103d]{filter:drop-shadow(0 14px 24px #74261947);animation-play-state:paused;transform:translateY(-5px)scale(1.06)}.qa-float-shadow[data-v-36fd103d]{display:none}.qa-tiger[data-v-36fd103d]{object-fit:cover;object-position:center 48%;border-radius:11px;width:100%;height:100%;display:block}.qa-robot[data-v-36fd103d]{z-index:1;width:66px;height:76px;margin:0 auto;display:none;position:relative}@keyframes qa-bob-36fd103d{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.qa-panel[data-v-36fd103d]{background:linear-gradient(#fffdf8 0%,#fbf6ec 100%);border:1px solid #a8832f47;border-radius:16px;flex-direction:column;min-width:300px;max-width:calc(100vw - 24px);min-height:320px;max-height:calc(100vh - 150px);display:flex;position:absolute;top:auto;bottom:calc(100% + 32px);right:0;overflow:hidden;box-shadow:0 16px 40px #3d322b2e}.qa-resize[data-v-36fd103d]{z-index:3;cursor:nwse-resize;opacity:.38;width:16px;height:16px;position:absolute;top:6px;left:6px}.qa-resize[data-v-36fd103d]:before,.qa-resize[data-v-36fd103d]:after{content:"";transform-origin:50%;background:#a8832fb3;width:12px;height:1px;position:absolute;top:5px;left:2px;transform:rotate(-45deg)}.qa-resize[data-v-36fd103d]:after{width:8px;top:10px}.qa-resize[data-v-36fd103d]:hover{opacity:.8}[data-theme=dark]{color:#1f1a17;background:#d4a84b;border-color:#d4a84b52;box-shadow:0 16px 38px #0006,0 0 0 7px #d4a84b14}@media (width<=768px){.qa-root[data-v-36fd103d]{bottom:144px;right:14px}.qa-float[data-v-36fd103d]{border-radius:10px;width:60px;height:60px}.qa-robot[data-v-36fd103d]{width:56px;height:64px}}.qa-head[data-v-36fd103d]{background:linear-gradient(#3d322b08 1px,#0000 1px) 0 0/20px 20px,linear-gradient(90deg,#3d322b08 1px,#0000 1px) 0 0/20px 20px,#f7f3ea;border-bottom:1px solid #a8832f38;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.qa-head-title[data-v-36fd103d]{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--zodiac-ink);align-items:center;gap:8px;display:flex}.qa-head-icon[data-v-36fd103d]{background:linear-gradient(#fffdf8,#f7f3ea);border:1px solid #a8832f4d;border-radius:12px;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden}.qa-head-icon svg[data-v-36fd103d]{display:none}.qa-head-icon[data-v-36fd103d]:after{content:"";background:url(/zodiac/cute-v2/tiger.png) 50%/auto 32px no-repeat;width:24px;height:24px}.qa-close[data-v-36fd103d]{color:#a89b8c;cursor:pointer;background:0 0;border:none;border-radius:8px;width:28px;height:28px;font-size:20px;line-height:1}.qa-close[data-v-36fd103d]:hover{color:#b4202a;background:#b4202a14}.qa-messages[data-v-36fd103d]{background:#fbf7ee;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.qa-msg[data-v-36fd103d]{word-break:break-word;border-radius:12px;max-width:88%;padding:10px 14px;font-size:15px;line-height:1.72}.qa-msg-text[data-v-36fd103d]{white-space:pre-wrap}.qa-msg-image[data-v-36fd103d]{object-fit:contain;background:#fff;border:1px solid #a8832f33;border-radius:8px;width:auto;max-width:min(100%,260px);max-height:180px;margin:8px 0 2px;display:block}.qa-msg.bot[data-v-36fd103d]{color:var(--zodiac-ink-soft);background:#fffdf8;border:1px solid #a8832f2e;border-bottom-left-radius:4px;align-self:flex-start}.qa-msg.user[data-v-36fd103d]{background:var(--zodiac-cinnabar);color:#f7f3ea;border-bottom-right-radius:4px;align-self:flex-end}.qa-suggestions[data-v-36fd103d]{background:#fbf7ee;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:0 14px 10px;display:flex}.qa-chip[data-v-36fd103d]{min-width:0;color:var(--zodiac-ink-soft);font-size:12px;font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;background:#fffdf8;border:1px solid #a8832f38;border-radius:999px;flex:0 0 calc(50% - 3px);padding:6px 8px;transition:color .2s,border-color .2s,background .2s}.qa-chip[data-v-36fd103d]:hover{color:var(--zodiac-cinnabar);background:#b4202a0f;border-color:#b4202a66}.qa-input-row[data-v-36fd103d]{background:#fffdf8;border-top:1px solid #a8832f38;flex-shrink:0;gap:8px;padding:10px 12px 12px;display:flex}.qa-input[data-v-36fd103d]{min-width:0;height:40px;color:var(--zodiac-ink);background:#fbf7ee;border:1px solid #a8832f40;border-radius:8px;flex:1;padding:0 13px;font-size:15px}.qa-input[data-v-36fd103d]:focus{outline-offset:0;background:#fffdf8;border-color:#b4202a73;outline:2px solid #b4202a4d}.qa-send[data-v-36fd103d]{background:var(--zodiac-cinnabar);color:#fff;height:40px;font-size:15px;font-weight:var(--fw-bold);cursor:pointer;border:none;border-radius:8px;min-width:64px;padding:0 16px}.qa-send[data-v-36fd103d]:hover{background:var(--zodiac-cinnabar-dark)}.qa-send.is-stop[data-v-36fd103d]{background:#6b4a3a}.qa-send.is-stop[data-v-36fd103d]:hover{background:#56382c}.qa-panel-enter-active[data-v-36fd103d],.qa-panel-leave-active[data-v-36fd103d]{transition:opacity .18s,transform .18s}.qa-panel-enter-from[data-v-36fd103d],.qa-panel-leave-to[data-v-36fd103d]{opacity:0;transform:translateY(-8px)}[data-theme=dark]{color:#f7f3ea;background:#d4a84b1f;border-color:#d4a84b4d;box-shadow:0 16px 40px #00000080}[data-theme=dark],[data-theme=dark]{background:#0c0a08}[data-theme=dark]{color:#f7f3ea;background:#0c0a08;border-color:#f4edde1a}.tab-nav[data-v-2df2d5e0]{z-index:1000;font-family:var(--font-display);background:linear-gradient(#fff8e8fa,#f2dec1f5);border-bottom:1px solid #b21f2d3d;height:52px;position:sticky;top:0;overflow:visible;box-shadow:0 10px 24px #7426191f}.tab-inner[data-v-2df2d5e0]{width:var(--showcase-main-width,62%);box-sizing:border-box;align-items:stretch;max-width:none;height:100%;margin:0 auto;padding:0;display:flex;position:relative;overflow:visible}.tab-list[data-v-2df2d5e0]{justify-content:space-between;align-items:stretch;gap:0;width:100%;display:flex;overflow:visible}.tab-item[data-v-2df2d5e0]{z-index:1;flex:1;align-items:stretch;display:flex;position:relative;overflow:visible}.tab-item.open[data-v-2df2d5e0]{z-index:2}.tab-link[data-v-2df2d5e0]{color:#4a271b;white-space:nowrap;text-align:center;border-top:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:20px;font-weight:800;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:flex}.tab-item:first-child .tab-link[data-v-2df2d5e0]{font-size:22px;font-weight:800}.caret[data-v-2df2d5e0]{opacity:.75;font-size:12px;line-height:1;transition:transform .2s;transform:translateY(1px)}.tab-item.open .caret[data-v-2df2d5e0]{transform:translateY(1px)rotate(180deg)}.tab-link[data-v-2df2d5e0]:hover{color:var(--resume-accent,#b21f2d);background:#b21f2d12}.tab-link.active[data-v-2df2d5e0]{color:var(--resume-accent,#b21f2d);border-top-color:var(--resume-accent,#b21f2d);background:linear-gradient(#b21f2d1f,#fff8e8b3);box-shadow:inset 0 -1px #d8a33952}.tab-menu[data-v-2df2d5e0]{z-index:20;background:linear-gradient(#fffcf5fa,#fff4e0f5);border:1px solid #b21f2d38;border-radius:0 0 10px 10px;min-width:200px;max-width:min(320px,80vw);max-height:min(60vh,420px);margin-top:0;padding:10px 0 8px;position:absolute;top:100%;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 14px 28px #74261929}.menu-item[data-v-2df2d5e0]{color:#4a271b;text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:10px 18px;font-size:16px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block;overflow:hidden}.menu-item[data-v-2df2d5e0]:hover{color:var(--resume-accent,#b21f2d);background:#b21f2d14}.menu-empty[data-v-2df2d5e0]{color:#7b5a3a;text-align:center;margin:0;padding:12px 18px;font-size:14px;font-weight:500}@media (width<=900px){.tab-link[data-v-2df2d5e0]{padding:0 2px;font-size:18px}.tab-item:first-child .tab-link[data-v-2df2d5e0]{font-size:20px}.tab-menu[data-v-2df2d5e0]{min-width:160px;left:0;transform:none}.menu-item[data-v-2df2d5e0]{padding:9px 14px;font-size:15px}}[data-theme=dark]{border-bottom-color:#ffffff1a}.showcase[data-v-3cd013df]{box-sizing:border-box;width:100%;font-family:var(--font-display);background:#0b1220;padding:0;scroll-margin-top:52px;overflow:hidden}[data-theme=light]{background:#111827}.carousel[data-v-3cd013df]{width:100%;position:relative}.stage[data-v-3cd013df]{width:100%;height:clamp(280px,42vw,480px);position:relative;overflow:hidden}.slide[data-v-3cd013df]{z-index:1;background:#1a2332;flex-direction:column;height:100%;transition:left .45s cubic-bezier(.22,1,.36,1),right .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1),opacity .35s;display:flex;position:absolute;top:0;overflow:hidden}.slide.active[data-v-3cd013df]{left:var(--showcase-main-inset,19%);width:var(--showcase-main-width,62%);opacity:1;z-index:3;pointer-events:auto;cursor:default;right:auto}.slide.prev[data-v-3cd013df]{z-index:2;cursor:pointer;width:22%;left:0;right:auto}.slide.next[data-v-3cd013df]{z-index:2;cursor:pointer;width:22%;left:auto;right:0}.slide-dim[data-v-3cd013df]{opacity:0;pointer-events:none;z-index:2;background:#00000094;transition:opacity .35s;position:absolute;inset:0}.slide.prev .slide-dim[data-v-3cd013df],.slide.next .slide-dim[data-v-3cd013df]{opacity:1}.slide-media[data-v-3cd013df]{background:#0f172a;flex:1;min-height:0;position:relative}.slide-img[data-v-3cd013df]{object-fit:cover;object-position:center;image-rendering:auto;-webkit-user-drag:none;width:100%;height:100%;display:block}.slide-caption[data-v-3cd013df]{color:#fff;z-index:3;opacity:0;background:linear-gradient(#0000,#000000c7);padding:28px 24px 8px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.slide.active .slide-caption[data-v-3cd013df]{opacity:1}.slide-title[data-v-3cd013df]{font-size:var(--fs-h1);font-weight:var(--fw-extrabold);color:#fff;margin:0 0 6px;line-height:1.3}.slide-subtitle[data-v-3cd013df]{font-size:var(--fs-body);font-weight:var(--fw-bold);color:#fff;margin:0;line-height:1.45}.arrow[data-v-3cd013df]{z-index:5;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border:none;border-radius:6px;width:44px;height:44px;font-size:28px;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.arrow[data-v-3cd013df]:hover{background:#000000a6}.arrow-prev[data-v-3cd013df]{left:calc(var(--showcase-main-inset,19%) + 8px)}.arrow-next[data-v-3cd013df]{right:calc(var(--showcase-main-inset,19%) + 8px)}.empty[data-v-3cd013df]{text-align:center;color:#f8fafc8c;padding:48px 12px;font-size:14px}@media (width<=768px){.stage[data-v-3cd013df]{height:260px}.slide.prev[data-v-3cd013df],.slide.next[data-v-3cd013df]{width:18%}.arrow[data-v-3cd013df]{width:34px;height:34px;font-size:22px}}.site-footer[data-v-3d29ece5]{box-sizing:border-box;width:100%;font-family:var(--font-display);background:linear-gradient(#f7f3ea8c,#ebe4d6eb);border-top:1px solid #b21f2d2e;justify-content:center;align-items:center;scroll-margin-top:64px;display:flex;position:relative;overflow:visible}.footer-inner[data-v-3d29ece5]{width:var(--showcase-main-width,62%);box-sizing:border-box;justify-content:center;align-items:center;max-width:none;margin:0 auto;padding:18px 0 16px;display:flex;position:relative}.channels[data-v-3d29ece5]{width:100%}.channel-list[data-v-3d29ece5]{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:14px 28px;width:100%;margin:0 auto;padding:0;list-style:none;display:flex}.channel-item[data-v-3d29ece5]{width:auto;min-width:58px;color:var(--resume-text-body,#374151);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:0 4px;text-decoration:none;transition:color .2s,transform .2s;display:flex}.channel-item[data-v-3d29ece5]:hover{color:var(--resume-accent,#b21f2d);transform:translateY(-2px)}.channel-item.is-disabled[data-v-3d29ece5]{opacity:.4;cursor:not-allowed}.channel-icon[data-v-3d29ece5]{border:1px solid var(--resume-card-border,#e5e7eb);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin:0 auto;transition:box-shadow .25s,transform .25s;display:flex;position:relative}.beian-bar[data-v-3d29ece5]{box-sizing:border-box;pointer-events:none;white-space:nowrap;z-index:1;justify-content:flex-start;align-items:center;width:max-content;max-width:none;margin:0;padding:0;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.beian-row[data-v-3d29ece5]{color:var(--resume-text-muted,#4a271b);white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;margin:0;font-size:12px;line-height:1.4;display:inline-flex}.beian-no[data-v-3d29ece5]{white-space:nowrap;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.beian-badge[data-v-3d29ece5]{object-fit:contain;vertical-align:middle;flex-shrink:0;width:18px;height:18px}[data-theme=dark]{background:var(--resume-card-bg,#1a1714);color:var(--resume-text-muted,#c4b8a8);border-top-color:#d4a84b33}.channel-icon[data-v-3d29ece5]:before{content:"";width:18px;height:18px;-webkit-mask:var(--icon-mask) center / contain no-repeat;-webkit-mask:var(--icon-mask) center / contain no-repeat;mask:var(--icon-mask) center / contain no-repeat;background:var(--resume-accent,#b21f2d);margin:0;display:block}.channel-icon[data-icon=blog][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E")}.channel-icon[data-icon=github][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 .5C5.73.5.5 5.74.5 12.02c0 5.1 3.29 9.43 7.86 10.96.58.11.79-.25.79-.56 0-.28-.01-1.02-.02-2-3.2.7-3.88-1.54-3.88-1.54-.53-1.34-1.3-1.7-1.3-1.7-1.06-.73.08-.72.08-.72 1.17.08 1.79 1.2 1.79 1.2 1.04 1.78 2.73 1.27 3.4.97.1-.75.41-1.27.74-1.56-2.55-.29-5.23-1.28-5.23-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.46.11-3.04 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.8 0c2.2-1.49 3.17-1.18 3.17-1.18.64 1.58.24 2.75.12 3.04.74.81 1.18 1.84 1.18 3.1 0 4.43-2.69 5.4-5.25 5.69.42.36.79 1.09.79 2.2 0 1.59-.01 2.87-.01 3.26 0 .31.21.68.8.56A10.52 10.52 0 0 0 23.5 12C23.5 5.74 18.27.5 12 .5z'/%3E%3C/svg%3E")}.channel-icon[data-icon=linkedin][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4.98 3.5C4.98 4.88 3.88 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.5 8.5h4V23h-4V8.5zM8.5 8.5h3.8v2h.05c.53-1 1.84-2.05 3.8-2.05 4.06 0 4.8 2.67 4.8 6.15V23h-4v-6.5c0-1.55-.03-3.55-2.16-3.55-2.16 0-2.49 1.69-2.49 3.43V23h-4V8.5z'/%3E%3C/svg%3E")}.channel-icon[data-icon=email][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E")}.channel-icon[data-icon=phone][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.81.36 1.6.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c1.2.34 2 .57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}.channel-icon[data-icon=website][data-v-3d29ece5]{--icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E")}.channel-label[data-v-3d29ece5]{text-align:center;white-space:nowrap;font-size:14px;line-height:1.3}@media (width<=768px){.footer-inner[data-v-3d29ece5]{width:var(--showcase-main-width,70%);flex-direction:column;gap:10px}.channel-list[data-v-3d29ece5]{gap:14px 22px}.beian-bar[data-v-3d29ece5]{left:12px}.beian-row[data-v-3d29ece5]{white-space:nowrap}}.profile-card[data-v-993b737e]{background:radial-gradient(circle at 100% 0%, #d8a3391f, transparent 34%), linear-gradient(180deg, #fffaeff5, #fff3dce6), var(--resume-card-bg);border:1px solid var(--resume-card-border);box-shadow:var(--resume-card-shadow,0 4px 18px #0f172a0a);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;min-height:0;padding:24px 28px 30px;display:flex;position:relative;overflow:hidden}.profile-card[data-v-993b737e]:before{content:"";opacity:.9;pointer-events:none;background:linear-gradient(90deg,#0000,#d8a339,#b21f2d,#d8a339,#0000);height:3px;position:absolute;inset:0 0 auto}.profile-card[data-v-993b737e]:after{content:"";opacity:.08;pointer-events:none;background:url(/zodiac/horse.svg) 50%/contain no-repeat;width:62px;height:62px;position:absolute;bottom:10px;right:18px;transform:rotate(-8deg)}.card-title[data-v-993b737e]{font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:0;color:var(--resume-accent);flex-shrink:0;margin:0 0 16px}.profile-card-body[data-v-993b737e]{min-height:0}.profile-card.is-resized .profile-card-body[data-v-993b737e]{scrollbar-width:thin;scrollbar-color:#b21f2d47 transparent;flex:auto;padding-right:4px;overflow-y:auto}.profile-card.is-resized .profile-card-body[data-v-993b737e]::-webkit-scrollbar{width:2px}.profile-card.is-resized .profile-card-body[data-v-993b737e]::-webkit-scrollbar-track{background:0 0}.profile-card.is-resized .profile-card-body[data-v-993b737e]::-webkit-scrollbar-thumb{background:#b21f2d47;border-radius:2px}.detail-list[data-v-993b737e]{flex-direction:column;gap:12px;margin:0 0 24px;display:flex}.detail-row[data-v-993b737e]{font-size:var(--fs-body);font-family:var(--font-display);color:var(--text-secondary);grid-template-columns:4.5em 1fr;align-items:baseline;gap:12px;line-height:1.62;display:grid}.detail-row dt[data-v-993b737e]{color:var(--text-secondary);font-weight:var(--fw-bold)}.detail-row dd[data-v-993b737e]{color:var(--text-secondary);font-weight:var(--fw-regular);word-break:break-all;margin:0}.btn-download[data-v-993b737e]{background:var(--resume-btn-bg);width:100%;height:44px;color:var(--resume-btn-text);font-size:var(--fs-body);font-weight:var(--fw-medium);cursor:pointer;border:none;border-radius:8px;transition:opacity .2s,transform .2s;box-shadow:0 12px 28px #74261933}.btn-download[data-v-993b737e]:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-download[data-v-993b737e]:disabled{opacity:.6;cursor:not-allowed}.resize-handle[data-v-993b737e]{cursor:ns-resize;touch-action:none;background:0 0;border:0;border-radius:999px;height:12px;position:absolute;bottom:8px;left:28px;right:28px}.resize-handle[data-v-993b737e]:before{content:"";background:#b21f2d47;border-radius:999px;width:42px;height:3px;transition:background .18s,width .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle[data-v-993b737e]:hover:before,.profile-card.is-resizing .resize-handle[data-v-993b737e]:before{background:var(--resume-accent);width:58px}.section-panel[data-v-cde66deb]{background:radial-gradient(circle at 100% 0%, #d8a3391f, transparent 34%), linear-gradient(180deg, #fffaeff5, #fff3dce6), var(--resume-card-bg);border:1px solid var(--resume-card-border);box-shadow:var(--resume-card-shadow,0 4px 18px #0f172a0a);box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;width:100%;min-height:0;padding:24px 28px 30px;scroll-margin-top:70px;display:flex;position:relative;overflow:hidden}.section-panel[data-v-cde66deb]:before{content:"";opacity:.9;pointer-events:none;background:linear-gradient(90deg,#0000,#d8a339,#b21f2d,#d8a339,#0000);height:3px;position:absolute;inset:0 0 auto}.section-panel[data-v-cde66deb]:after{content:"";opacity:.08;pointer-events:none;background:url(/zodiac/rooster.svg) 50%/contain no-repeat;width:58px;height:58px;position:absolute;bottom:12px;right:18px}.panel-head[data-v-cde66deb]{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-title[data-v-cde66deb]{font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:0;color:var(--resume-accent);margin:0}.detail-link[data-v-cde66deb]{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--resume-accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.detail-link[data-v-cde66deb]:hover{text-decoration:underline}.panel-body[data-v-cde66deb]{flex:auto;min-width:0;min-height:0}.section-panel.scrollable .panel-body[data-v-cde66deb],.section-panel.is-resized .panel-body[data-v-cde66deb]{scrollbar-width:thin;scrollbar-color:#a8832f52 transparent;padding-right:4px;overflow-y:auto}.section-panel.scrollable:not(.is-resized) .panel-body[data-v-cde66deb]{max-height:160px}.section-panel.scrollable .panel-body[data-v-cde66deb]::-webkit-scrollbar{width:2px}.section-panel.is-resized .panel-body[data-v-cde66deb]::-webkit-scrollbar{width:2px}.section-panel.scrollable .panel-body[data-v-cde66deb]::-webkit-scrollbar-track{background:0 0}.section-panel.is-resized .panel-body[data-v-cde66deb]::-webkit-scrollbar-track{background:0 0}.section-panel.scrollable .panel-body[data-v-cde66deb]::-webkit-scrollbar-thumb{background:#a8832f52;border-radius:2px}.section-panel.is-resized .panel-body[data-v-cde66deb]::-webkit-scrollbar-thumb{background:#a8832f52;border-radius:2px}.section-panel.scrollable .panel-body[data-v-cde66deb]::-webkit-scrollbar-thumb:hover{background:#b4202a6b}.section-panel.is-resized .panel-body[data-v-cde66deb]::-webkit-scrollbar-thumb:hover{background:#b4202a6b}[data-theme=dark],[data-theme=dark]{scrollbar-color:#d4a84b4d transparent;background:#d4a84b80}.resize-handle[data-v-cde66deb]{cursor:ns-resize;touch-action:none;background:0 0;border:0;border-radius:999px;height:12px;position:absolute;bottom:8px;left:28px;right:28px}.resize-handle[data-v-cde66deb]:before{content:"";background:#0f766e38;border-radius:999px;width:42px;height:3px;transition:background .18s,width .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle[data-v-cde66deb]:hover:before,.section-panel.is-resizing .resize-handle[data-v-cde66deb]:before{background:var(--resume-accent);width:58px}body.is-resizing-panel{cursor:ns-resize;-webkit-user-select:none;user-select:none}.section-icon[data-v-ca760ba0]{width:28px;height:28px;color:var(--accent-blue);background:var(--accent-blue-dim);border:1px solid #4080ff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.section-icon svg[data-v-ca760ba0]{width:16px;height:16px}.modal-overlay[data-v-197b869d]{z-index:1000;-webkit-backdrop-filter:blur(10px);background:#00060c9e;justify-content:center;align-items:center;padding:48px 32px;display:flex;position:fixed;inset:0}.modal-card[data-v-197b869d]{border:1px solid var(--accent-blue);width:min(760px,100vw - 64px);height:min(520px,100vh - 96px);box-shadow:var(--shadow-card), var(--tech-glow-strong);border-radius:14px;flex-direction:column;padding:28px 32px 32px;display:flex;position:relative;overflow:hidden}.modal-header[data-v-197b869d]{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;display:flex}.modal-title[data-v-197b869d]{align-items:center;gap:10px;display:flex}.modal-title h2[data-v-197b869d]{font-size:var(--fs-h1);font-weight:var(--fw-semibold);letter-spacing:var(--ls-normal);color:var(--text-primary)}.modal-close[data-v-197b869d]{border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close svg[data-v-197b869d]{width:18px;height:18px}.modal-close[data-v-197b869d]:hover{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--accent-blue-dim);box-shadow:0 0 12px var(--border-glow)}.modal-body[data-v-197b869d]{--fs-body:20px;--fs-sm:20px;--fs-xs:20px;scrollbar-width:thin;scrollbar-color:#64748b2e transparent;flex:1;padding:8px 12px 4px 0;font-size:20px;overflow-y:auto}.modal-body[data-v-197b869d]::-webkit-scrollbar{width:2px}.modal-body[data-v-197b869d]::-webkit-scrollbar-track{background:0 0}.modal-body[data-v-197b869d]::-webkit-scrollbar-thumb{background:#64748b2e;border-radius:2px}.modal-body[data-v-197b869d]::-webkit-scrollbar-thumb:hover{background:#64748b52}[data-theme=dark]{scrollbar-color:#94a3b838 transparent;background:#94a3b861}.modal-enter-active[data-v-197b869d],.modal-leave-active[data-v-197b869d]{transition:opacity .25s}.modal-enter-active .modal-card[data-v-197b869d],.modal-leave-active .modal-card[data-v-197b869d]{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s}.modal-enter-from[data-v-197b869d],.modal-leave-to[data-v-197b869d]{opacity:0}.modal-enter-from .modal-card[data-v-197b869d],.modal-leave-to .modal-card[data-v-197b869d]{opacity:0;transform:scale(.92)translateY(12px)}@media (width<=700px){.modal-overlay[data-v-197b869d]{padding:24px 16px}.modal-card[data-v-197b869d]{width:calc(100vw - 32px);height:min(560px,100vh - 48px);padding:22px 20px 24px}.modal-title h2[data-v-197b869d]{font-size:var(--fs-h2)}}.info-list[data-v-3a56beb4]{flex-direction:column;gap:12px;display:flex}.info-list--double[data-v-3a56beb4]{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;gap:12px 20px;display:grid}.info-item[data-v-3a56beb4]{font-size:var(--card-text-base);font-family:var(--font-display);line-height:var(--card-line-height);color:var(--text-secondary);align-items:center;gap:8px;min-width:0;display:flex}.info-list--double .info-item[data-v-3a56beb4]{align-items:start;height:100%}.info-label[data-v-3a56beb4]{color:var(--text-secondary);font-size:var(--fs-body);font-weight:var(--fw-bold);letter-spacing:0;line-height:var(--card-line-height);flex-shrink:0}.info-value[data-v-3a56beb4]{min-width:0;color:var(--text-secondary);font-weight:var(--fw-regular);line-height:var(--card-line-height);overflow-wrap:break-word;word-break:break-word;flex:1}@media (width<=480px){.info-list--double[data-v-3a56beb4]{grid-template-columns:1fr}.info-list--double .info-item[data-v-3a56beb4]{align-items:center;height:auto}}.edu-list[data-v-480fe367]{font-family:var(--font-display);flex-direction:column;gap:34px;display:flex}.edu-item[data-v-480fe367]{flex-direction:column;gap:4px;display:flex}.school[data-v-480fe367],.major[data-v-480fe367],.date[data-v-480fe367]{font-size:var(--fs-body);white-space:nowrap;word-break:keep-all;overflow-wrap:normal;margin:0;line-height:1.45}.school[data-v-480fe367]{font-weight:var(--fw-bold);color:var(--resume-text)}.major[data-v-480fe367],.date[data-v-480fe367]{font-weight:var(--fw-regular);color:var(--text-secondary)}.award-list[data-v-30eb2e4f]{font-family:var(--font-display);flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.award-item[data-v-30eb2e4f]{font-size:var(--fs-body);color:var(--text-secondary);padding-left:16px;line-height:1.6;position:relative}.award-item[data-v-30eb2e4f]:before{content:"";background:var(--resume-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}.title[data-v-30eb2e4f]{font-weight:var(--fw-regular)}.skill-list[data-v-fc225e1f]{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.skill-item[data-v-fc225e1f]{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.78;font-family:var(--font-display);font-weight:var(--fw-bold);background:linear-gradient(#fffcf5f5,#fff6e4b8);border:1px solid #b21f2d38;border-radius:10px;padding:14px 16px 14px 28px;scroll-margin-top:72px;position:relative;box-shadow:inset 0 1px #ffffffbf,0 6px 16px #7426190f}.skill-item[data-v-fc225e1f]:before{content:"";background:var(--resume-accent,#b21f2d);border-radius:50%;width:6px;height:6px;position:absolute;top:1.15em;left:12px;box-shadow:0 0 0 3px #b21f2d1f}.category[data-v-fc225e1f]{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--resume-text,#2a130d)}.content[data-v-fc225e1f]{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-secondary,#4a271b)}.projects[data-v-e5d13629]{font-family:var(--font-display);flex-direction:column;gap:22px;display:flex}.project-header[data-v-e5d13629]{color:var(--resume-text);grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(160px,1fr);align-items:baseline;gap:16px;margin-bottom:10px;display:grid}.project-company[data-v-e5d13629],.project-title[data-v-e5d13629],.project-date[data-v-e5d13629]{min-width:0;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--resume-text);line-height:1.4}.project-title[data-v-e5d13629]{text-align:center;margin:0}.project-date[data-v-e5d13629]{white-space:nowrap;text-align:right}.project-tags[data-v-e5d13629]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag[data-v-e5d13629]{border:1px solid var(--resume-tag-border);width:fit-content;color:var(--text-secondary);font-family:var(--font-display);font-size:15px;font-weight:var(--fw-bold);white-space:nowrap;background:0 0;border-radius:6px;flex:none;padding:2px 8px;line-height:1.3}.project-desc[data-v-e5d13629]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.project-desc li[data-v-e5d13629]{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.78;font-family:var(--font-display);font-weight:var(--fw-bold);padding-left:0;position:relative}@media (width<=900px){.project-header[data-v-e5d13629]{grid-template-columns:1fr;gap:4px}.project-title[data-v-e5d13629],.project-date[data-v-e5d13629]{text-align:left}}.evaluation[data-v-97015d00]{font-family:var(--font-display);flex-direction:column;gap:10px;display:flex}.evaluation-item[data-v-97015d00]{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.8;font-weight:var(--fw-bold);margin:0}.tech-stack[data-v-5836314d]{font-family:var(--font-display);flex-direction:column;gap:14px;display:flex}.panel-title[data-v-5836314d]{font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--resume-text);margin:0}.tags[data-v-5836314d]{flex-wrap:wrap;gap:12px 8px;display:flex}.tag[data-v-5836314d]{border:1px solid var(--resume-tag-border);color:var(--text-secondary);font-size:15px;font-weight:var(--fw-bold);white-space:nowrap;background:#fff8e8b8;border-radius:6px;padding:2px 8px;line-height:1.3}.home-page[data-v-a2a47164]{--resume-page-bg:radial-gradient(680px 460px at 10% -6%, #b4202a1a, transparent 58%), radial-gradient(560px 380px at 90% 4%, #d4a84b1f, transparent 56%), linear-gradient(180deg, #fdf9f0 0%, #f7f3ea 48%, #f0e9db 100%);--resume-card-bg:#fdf9f0eb;--resume-card-border:#a8832f38;--resume-card-shadow:0 14px 34px #3d322b1a, inset 0 1px 0 #fff9;--resume-text:#2a130d;--resume-text-body:#4a271b;--resume-text-muted:#4a271b;--resume-accent:var(--zodiac-cinnabar);--resume-tag-border:#b4202a47;--resume-btn-bg:linear-gradient(135deg, var(--zodiac-cinnabar) 0%, var(--zodiac-cinnabar-dark) 100%);--resume-btn-text:#f7f3ea;--text-primary:#2a130d;--text-secondary:#4a271b;--text-muted:#4a271b;--text-accent:var(--zodiac-cinnabar);--accent-blue:var(--zodiac-cinnabar);--accent-green:var(--zodiac-gold);--showcase-main-inset:19%;--showcase-main-width:62%;--fs-h2:19px;--fs-h3:16px;--fs-body:16px;--fs-sm:16px;--fs-xs:16px;background:var(--resume-page-bg);isolation:isolate;min-height:100vh;font-family:var(--font-display);font-size:var(--fs-body);position:relative}.home-page[data-v-a2a47164]:before,.home-page[data-v-a2a47164]:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:0}.home-page[data-v-a2a47164]:before{opacity:.45;background-image:url(/zodiac/lattice-pattern.svg);background-size:120px 120px;-webkit-mask-image:linear-gradient(#00000059,#0000 72%);mask-image:linear-gradient(#00000059,#0000 72%)}.home-page[data-v-a2a47164]:after{opacity:.1;background:url(/zodiac/zodiac-wheel.svg) calc(100% + 80px) calc(100% + 80px)/clamp(260px,32vw,420px) no-repeat}.home-page[data-v-a2a47164]>*{z-index:1;position:relative}.home-page[data-v-a2a47164] .tab-nav{z-index:400}.home-page[data-v-a2a47164] .award-item,.home-page[data-v-a2a47164] .award-item .title,.home-page[data-v-a2a47164] .award-item .year,.home-page[data-v-a2a47164] .skill-item,.home-page[data-v-a2a47164] .skill-item .category,.home-page[data-v-a2a47164] .skill-item .content,.home-page[data-v-a2a47164] .project-company,.home-page[data-v-a2a47164] .project-title,.home-page[data-v-a2a47164] .project-date,.home-page[data-v-a2a47164] .project-desc li,.home-page[data-v-a2a47164] .project-tags .tag,.home-page[data-v-a2a47164] .evaluation-item,.home-page[data-v-a2a47164] .detail-row,.home-page[data-v-a2a47164] .detail-row dt,.home-page[data-v-a2a47164] .detail-row dd,.home-page[data-v-a2a47164] .school,.home-page[data-v-a2a47164] .major,.home-page[data-v-a2a47164] .date,.home-page[data-v-a2a47164] .info-value{color:var(--text-secondary);font-weight:var(--fw-bold);font-family:var(--font-display)!important}.home-page[data-v-a2a47164] .skill-item .category,.home-page[data-v-a2a47164] .project-company,.home-page[data-v-a2a47164] .project-title,.home-page[data-v-a2a47164] .project-date{color:var(--resume-text)}.resume-layout[data-v-a2a47164] .project-tags .tag,.resume-layout[data-v-a2a47164] .tech-stack .tag{font-family:var(--font-display);color:var(--text-secondary);font-weight:var(--fw-bold)}.home-toast[data-v-a2a47164]{z-index:200;font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:var(--zodiac-cinnabar);color:#f7f3ea;border-radius:8px;padding:10px 18px;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.home-skeleton[data-v-a2a47164]{min-height:100vh}.sk-hero[data-v-a2a47164]{background:linear-gradient(110deg,#d4a84b2e,#fdf9f08c 42%,#b4202a1f);height:clamp(220px,32vw,360px);margin:0;animation:1.2s ease-in-out infinite sk-pulse-a2a47164}.sk-showcase[data-v-a2a47164]{width:var(--showcase-main-width);border:1px solid var(--resume-card-border);background:#fdf9f0b8;border-radius:14px;height:180px;margin:18px auto 0;animation:1.2s ease-in-out infinite sk-pulse-a2a47164}.sk-card[data-v-a2a47164]{background:var(--resume-card-bg);border:1px solid var(--resume-card-border);min-height:120px;box-shadow:var(--resume-card-shadow);border-radius:14px;animation:1.2s ease-in-out infinite sk-pulse-a2a47164}.sk-profile[data-v-a2a47164]{min-height:220px}.sk-tall[data-v-a2a47164]{min-height:200px}.is-soft-loading[data-v-a2a47164]{opacity:.92;transition:opacity .2s}@keyframes sk-pulse-a2a47164{0%,to{opacity:.72}50%{opacity:1}}.page-body[data-v-a2a47164]{flex-direction:column;gap:0;padding:0;display:flex;overflow-x:clip}.resume-wrap.page-content[data-v-a2a47164]{max-width:none;width:var(--showcase-main-width);box-sizing:border-box;flex-direction:column;gap:16px;margin-left:auto;margin-right:auto;padding:12px 0 16px;display:flex}#resume-info[data-v-a2a47164]{scroll-margin-top:64px}.resume-layout[data-v-a2a47164]{grid-template-columns:minmax(260px,1.12fr) minmax(0,2.88fr);align-items:stretch;gap:20px;display:grid}.resume-sidebar[data-v-a2a47164],.resume-main[data-v-a2a47164]{flex-direction:column;gap:16px;min-width:0;min-height:100%;display:flex}.resume-sidebar[data-v-a2a47164]>:last-child,.resume-main[data-v-a2a47164]>:last-child{flex-direction:column;flex:auto;display:flex}@media (width<=900px){.resume-layout[data-v-a2a47164]{grid-template-columns:1fr}.resume-sidebar[data-v-a2a47164]>:last-child,.resume-main[data-v-a2a47164]>:last-child{flex:none}}@media (width<=768px){.home-page[data-v-a2a47164]{--showcase-main-inset:15%;--showcase-main-width:70%}}
