:root{--ink: #111111;--ink-2: #1a1a1a;--muted: #5c5c5c;--muted-2: #8a8a8a;--line: rgba(0,0,0,.08);--bg: #f4f5f2;--accent: #4f46e5;--shell: 1320px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 3px rgba(24,24,27,.06), 0 1px 2px rgba(24,24,27,.04);--shadow-md: 0 8px 24px rgba(24,24,27,.08);--shadow-lg: 0 24px 48px -12px rgba(24,24,27,.18)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body.landing-mode{overflow:hidden}body.admin-mode,body.resume-mode{overflow-y:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5;background:var(--bg)}a{color:inherit;text-decoration:none}button{font-family:inherit}.scroll-root{height:100vh;height:100svh;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;background:var(--bg);scrollbar-width:none}.scroll-root::-webkit-scrollbar{display:none}.snap-page{position:relative;height:100vh;height:100svh;min-height:620px;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}@keyframes reveal-up{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}.reveal{opacity:0;transform:translate3d(0,24px,0)}.is-active .reveal{animation:reveal-up .85s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 80ms)}.hero-page{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 60% 70% at 20% 20%,rgba(129,140,248,.1),transparent 65%),radial-gradient(ellipse 50% 60% at 80% 30%,rgba(52,211,153,.08),transparent 65%),radial-gradient(ellipse 80% 80% at 50% 110%,rgba(99,102,241,.06),transparent 70%),linear-gradient(160deg,#eef0ea,#e2e6df 60%,#eaece6);animation:fade-in 1.15s var(--ease) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hero-bg video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.top-nav{position:relative;z-index:10;width:100%;max-width:var(--shell);margin:0 auto;padding:30px 48px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.nav-left{display:flex;align-items:center;gap:36px}.nav-link{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);opacity:.72;transition:opacity .2s ease}.nav-link:hover{opacity:1}.nav-brand{display:inline-flex;align-items:center;gap:9px;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);justify-self:center}.nav-brand svg{display:block}.nav-right{display:flex;justify-content:flex-end}.cta-pill{display:inline-flex;align-items:center;justify-content:center;background:#141414;color:#fff;border:0;border-radius:999px;padding:12px 22px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease}.cta-pill:hover{background:#000;transform:translateY(-1px)}.hero-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;gap:30px;padding:0 48px 100px;max-width:var(--shell);width:100%;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:#ffffffb8;border:1px solid rgba(0,0,0,.06);border-radius:999px;font-size:13px;color:var(--ink-2);width:fit-content;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.55}}.hero-badge svg{opacity:.6}.hero-headline{margin:0;font-size:clamp(32px,3.8vw,54px);line-height:1.1;font-weight:500;letter-spacing:-.03em;color:var(--ink);max-width:22ch}.hero-headline-line2{color:var(--muted)}.hero-backed{margin-top:28px;display:flex;flex-direction:column;gap:18px}.hero-backed-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);font-weight:500}.hero-backed-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap;perspective:800px}.hero-backed-item{font-size:24px;font-weight:500;color:var(--ink);letter-spacing:-.01em;display:inline-block;transform-style:preserve-3d;transform:translateZ(0);transition:transform .5s cubic-bezier(.22,1,.36,1),color .3s ease,text-shadow .4s ease;cursor:default;will-change:transform}.hero-backed-item:hover{transform:perspective(800px) translateZ(40px) rotateX(-6deg) scale(1.08);color:#000;text-shadow:0 1px 0 rgba(255,255,255,.6),0 2px 0 rgba(255,255,255,.4),0 8px 20px rgba(0,0,0,.15),0 16px 40px rgba(79,70,229,.18)}.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;background:transparent;border:0;cursor:pointer;z-index:10;padding:0;color:var(--muted-2);opacity:0;transition:opacity .85s var(--ease-out);transition-delay:1.2s}.is-active .scroll-hint{opacity:.72}.is-active .scroll-hint:hover{opacity:1}.scroll-hint-label{font-size:10px;letter-spacing:.24em;font-weight:500}.scroll-hint-line{display:block;width:1px;height:36px;background:linear-gradient(to bottom,currentColor,transparent);animation:scroll-line 2s infinite var(--ease)}@keyframes scroll-line{0%{transform:scaleY(.3);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}to{transform:scaleY(.3);transform-origin:bottom;opacity:.4}}.project-page{position:relative;width:100%;height:100%;display:flex;align-items:center;padding:0 48px;overflow:hidden;background:linear-gradient(180deg,#f4f5f2,#edeff0)}.project-glow{position:absolute;right:-20%;top:50%;width:80%;height:120%;transform:translateY(-50%);background:radial-gradient(ellipse at center,rgba(79,70,229,.18),transparent 62%);pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease-out)}.project-page.is-active .project-glow{opacity:1}.project-content{position:relative;z-index:1;max-width:var(--shell);width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}.project-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted-2);letter-spacing:.08em;font-weight:500;margin-bottom:8px}.project-num{font-size:26px;font-weight:600;color:var(--accent);letter-spacing:-.02em;line-height:1}.project-slash{opacity:.4;font-size:18px}.project-total{font-size:14px}.project-status-pill{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:4px 12px;background:#22c55e1a;color:#15803d;border-radius:999px;font-size:11.5px;letter-spacing:.04em;font-weight:500}.status-dot{width:5px;height:5px;border-radius:50%;background:#22c55e}.project-title{margin:0;font-size:clamp(40px,5.6vw,78px);line-height:1.05;font-weight:500;letter-spacing:-.035em;color:var(--ink)}.project-subtitle{margin:0;font-size:17px;color:var(--accent);font-weight:500}.project-desc{margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.7;color:var(--muted);max-width:62ch}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.project-tag{font-size:13px;padding:6px 14px;background:#ffffffb8;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.project-link-btn,.project-chat-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;border:0;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.project-link-btn{background:#141414;color:#fff;box-shadow:0 8px 20px #18181b26}.project-link-btn:hover{background:#000;transform:translateY(-1px);box-shadow:0 12px 28px #18181b38}.project-chat-btn{background:#ffffffb8;color:var(--ink);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-chat-btn:hover{background:#fff;border-color:#00000026;transform:translateY(-1px)}.experience-page{position:relative;width:100%;height:100%;padding:0 48px;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 30% 40%,rgba(244,114,182,.06),transparent 65%),radial-gradient(ellipse 70% 80% at 80% 80%,rgba(99,102,241,.08),transparent 65%),linear-gradient(180deg,#f6f5f3,#ecedee);display:flex;align-items:center}.experience-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,rgba(245,158,11,.08),transparent 40%),radial-gradient(circle at 85% 85%,rgba(139,92,246,.1),transparent 45%);opacity:0;transition:opacity 1.4s var(--ease-out);pointer-events:none}.experience-page.is-active .experience-glow{opacity:1}.experience-grid{position:relative;z-index:1;max-width:var(--shell);width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(280px,1fr) 1.4fr;gap:80px;align-items:start}.experience-left{position:sticky;top:20vh;display:flex;flex-direction:column;gap:16px;padding-top:20px}.experience-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);font-weight:500}.experience-title{margin:0;font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.035em;line-height:1.05;color:var(--ink)}.experience-sub{margin:0;font-size:16px;color:var(--muted);line-height:1.6;max-width:32ch}.experience-right{padding:12vh 0}.timeline{position:relative;padding-left:36px;display:flex;flex-direction:column;gap:44px}.timeline:before{content:"";position:absolute;top:4px;bottom:4px;left:10px;width:1px;background:linear-gradient(180deg,#0000000d,#0000002e 20%,#0000002e 80%,#0000000d)}.timeline-item{position:relative;display:grid;grid-template-columns:80px 1fr;gap:20px;align-items:start}.timeline-item:before{content:"";position:absolute;left:-30px;top:10px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 0 0 4px #4f46e514;transition:transform .4s var(--ease-out),box-shadow .4s}.timeline-item:hover:before{transform:scale(1.35);box-shadow:0 0 0 8px #4f46e524}.timeline-year{font-size:20px;font-weight:600;color:var(--accent);letter-spacing:-.01em;line-height:1.2;padding-top:4px}.timeline-body{display:flex;flex-direction:column;gap:6px}.timeline-title{font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.3}.timeline-org{font-size:13px;color:var(--muted-2);letter-spacing:.04em;font-weight:500}.timeline-desc{font-size:15px;color:var(--muted);line-height:1.7;margin-top:4px}.icp-footer{position:absolute;left:0;right:0;bottom:20px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:0 48px;pointer-events:none;z-index:5}.icp-footer .icp-link,.icp-footer .icp-copy{pointer-events:auto}.icp-link{font-size:12px;color:var(--muted-2);letter-spacing:.02em;transition:color .18s ease;text-decoration:none}.icp-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.icp-copy{font-size:12px;color:var(--muted-2);letter-spacing:.02em}.page-dots{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:40}.page-dot{width:7px;height:7px;border-radius:50%;border:0;background:#0000002e;cursor:pointer;padding:0;transition:all .35s var(--ease-out)}.page-dot:hover{background:#00000052}.page-dot.active{background:#141414;height:22px;border-radius:4px}.landing-loading{min-height:100vh;background:radial-gradient(ellipse 60% 70% at 20% 15%,rgba(129,140,248,.14),transparent 60%),#f4f5f2}.landing-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.landing-error h2{font-size:20px;font-weight:600;margin:0 0 8px}.landing-error p{color:var(--muted);margin:0}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f121952;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:80}.chat-overlay.open{opacity:1;pointer-events:auto}.chat-panel{position:fixed;top:50%;left:50%;width:min(720px,calc(100vw - 40px));height:min(680px,calc(100vh - 40px));background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;box-shadow:0 60px 120px -20px #0f121959,0 20px 48px -12px #0f12192e,0 0 0 1px #ffffff80 inset;display:flex;flex-direction:column;transform:translate(-50%,-50%) scale(.98);opacity:0;pointer-events:none;clip-path:circle(0px at var(--origin-x, 50%) var(--origin-y, 50%));transition:clip-path .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),opacity .35s ease;z-index:90;overflow:hidden;will-change:clip-path,transform,opacity}.chat-panel.open{clip-path:circle(2000px at var(--origin-x, 50%) var(--origin-y, 50%));transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(0,0,0,.05);background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-title{display:flex;align-items:center;gap:14px}.chat-avatar{position:relative;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#eef2ff,#e0e7ff);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #4f46e526}.chat-avatar-emoji{font-size:22px;line-height:1}.chat-avatar-status{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 2px #22c55e26}.chat-name{font-weight:600;font-size:15.5px;color:#111;letter-spacing:-.01em;line-height:1.2}.chat-status{font-size:12.5px;color:#8a8a8a;margin-top:3px;letter-spacing:-.005em}.chat-actions{display:flex;gap:4px}.icon-btn{width:36px;height:36px;border:none;background:transparent;border-radius:10px;color:#6b6b6b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.icon-btn:hover{background:#f4f4f5;color:#111}.chat-body{flex:1;overflow-y:auto;padding:24px 28px 8px;background:#fff;scroll-behavior:smooth}.chat-body::-webkit-scrollbar{width:8px}.chat-body::-webkit-scrollbar-thumb{background:#e4e4e7;border-radius:4px;border:2px solid #fff}.chat-body::-webkit-scrollbar-thumb:hover{background:#d4d4d8}.chat-body::-webkit-scrollbar-track{background:transparent}.msg-list{display:flex;flex-direction:column;gap:22px}.msg-row{display:flex;gap:12px;align-items:flex-start;max-width:100%}.msg-row.is-bot{justify-content:flex-start}.msg-row.is-user{justify-content:flex-end;flex-direction:row-reverse}.msg-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;box-shadow:0 1px 3px #0000000f}.msg-avatar-bot{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.msg-avatar-user{background:linear-gradient(135deg,#f4f4f5,#e4e4e7)}.msg-content{display:flex;flex-direction:column;gap:4px;max-width:min(78%,560px);min-width:0}.msg-row.is-user .msg-content{align-items:flex-end}.msg-name{font-size:12px;font-weight:600;color:#6b6b6b;letter-spacing:.01em;padding:0 4px}.msg-body{padding:12px 16px;border-radius:18px;line-height:1.7;font-size:14.5px;word-wrap:break-word;overflow-wrap:anywhere;letter-spacing:-.005em}.msg-row.is-bot .msg-body{background:#f7f7f8;color:#111;border-top-left-radius:6px}.msg-row.is-user .msg-body{background:#111;color:#fff;border-top-right-radius:6px}.msg-body p{margin:0 0 10px}.msg-body p:last-child{margin-bottom:0}.msg-body strong{font-weight:600}.msg-body em{font-style:italic;opacity:.9}.msg-body ul,.msg-body ol{padding-left:22px;margin:6px 0}.msg-body li{margin-bottom:4px}.msg-body pre{background:#0f0f12;color:#e4e4e7;padding:12px 14px;border-radius:10px;overflow-x:auto;font-size:12.5px;line-height:1.6;margin:10px 0}.msg-body code{font-family:ui-monospace,SF Mono,JetBrains Mono,Consolas,Monaco,monospace;font-size:13px;background:#0000000f;padding:1px 6px;border-radius:5px}.msg-row.is-user .msg-body code{background:#ffffff26}.msg-body pre code{background:transparent;padding:0}.msg-body a{color:#4f46e5;text-decoration:underline;text-underline-offset:2px}.msg-row.is-user .msg-body a{color:#a5b4fc}.msg-body blockquote{border-left:3px solid #e4e4e7;padding-left:12px;margin:8px 0;color:#6b6b6b}.chat-error{display:flex;align-items:center;gap:8px;padding:10px 22px;background:#fef3c7;color:#92400e;font-size:13px;border-top:1px solid #fde68a;border-bottom:1px solid #fde68a}.chat-error-icon{font-size:15px}.chat-input-area{padding:14px 18px 16px;border-top:1px solid rgba(0,0,0,.05);background:#fff}.chat-bottom-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-top:10px}.composer{display:flex;align-items:flex-end;gap:8px;background:#f7f7f8;border:1px solid transparent;border-radius:22px;padding:8px 8px 8px 16px;transition:background .15s,border-color .15s,box-shadow .15s}.composer:focus-within{background:#fff;border-color:#4f46e559;box-shadow:0 0 0 4px #4f46e514}.composer textarea{flex:1;resize:none;border:0;outline:0;background:transparent;font-family:inherit;font-size:14.5px;line-height:1.5;color:#111;padding:8px 0;max-height:160px;min-height:24px}.composer textarea::placeholder{color:#9a9a9a}.composer-btn{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .12s,opacity .15s}.composer-btn-send{background:#111;color:#fff}.composer-btn-send:hover:not(:disabled){background:#000;transform:scale(1.05)}.composer-btn-send:disabled{background:#e4e4e7;color:#a1a1aa;cursor:not-allowed}.composer-btn-stop{background:#111;color:#fff}.composer-btn-stop:hover{background:#000}.contact-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;border:1px solid #bbf7d0;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s;font-family:inherit}.contact-chip:hover:not(:disabled){background:linear-gradient(135deg,#dcfce7,#bbf7d0);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e2e}.contact-chip:disabled{opacity:.7;cursor:default}.contact-chip-icon{font-size:14px;line-height:1}.resume-page{min-height:100vh;background:#f5f6f4;display:flex;flex-direction:column}.resume-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:#f5f6f4d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.resume-back{font-size:13px;color:var(--muted);font-weight:500;transition:color .15s}.resume-back:hover{color:var(--ink)}.resume-actions{display:flex;gap:10px}.resume-btn-ghost,.resume-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,transform .15s,border-color .15s}.resume-btn-ghost{background:transparent;color:var(--muted);border-color:var(--line)}.resume-btn-ghost:hover{background:#fff;color:var(--ink)}.resume-btn-primary{background:#141414;color:#fff}.resume-btn-primary:hover{background:#000;transform:translateY(-1px)}.resume-content{flex:1;max-width:820px;width:100%;margin:0 auto;padding:64px 48px 100px}.resume-html{font-size:15px;line-height:1.75;color:var(--ink)}.resume-html h1{font-size:34px;font-weight:600;letter-spacing:-.025em;margin:0 0 8px;line-height:1.15}.resume-html .resume-subtitle,.resume-html h1+p{font-size:15px;color:var(--muted);margin:0 0 36px}.resume-html h2{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:40px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.resume-html h3{font-size:15px;font-weight:600;margin:22px 0 6px}.resume-html p{margin:0 0 12px}.resume-html ul,.resume-html ol{padding-left:22px;margin:0 0 16px}.resume-html li{margin-bottom:4px}.resume-html strong{font-weight:600}.resume-html a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.resume-footer{padding:28px 48px;border-top:1px solid var(--line)}.resume-footer-inner{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;max-width:820px;margin:0 auto}.resume-loading{min-height:100vh;background:#f5f6f4}.resume-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.resume-error a{color:var(--accent);text-decoration:underline}.resume-preview{margin-top:24px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px}.resume-preview-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);font-weight:500;margin-bottom:16px}@media print{body{background:#fff}.resume-nav,.resume-footer,.resume-back,.resume-actions,.icp-footer,.page-dots,.chat-overlay,.chat-panel{display:none!important}.resume-content{max-width:100%;padding:0}.resume-html h1{font-size:26px}.resume-html h2{font-size:15px;page-break-after:avoid}.resume-html h3{font-size:13.5px;page-break-after:avoid}.resume-html,body{font-size:12pt;line-height:1.55}a{color:#000;text-decoration:none}@page{margin:1.6cm}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f6f4;padding:24px}.admin-login-card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);padding:36px 32px;border-radius:18px;box-shadow:var(--shadow-lg);text-align:center}.admin-login-card h1{margin:0 0 6px;font-size:20px;font-weight:600}.admin-login-card p{color:var(--muted-2);margin:0 0 24px;font-size:13px}.admin-login-card input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;margin-bottom:12px;outline:none;font-family:inherit;background:#fcfcfd}.admin-login-card input:focus{border-color:var(--accent);background:#fff}.admin-login-card .btn-primary{width:100%;justify-content:center}.admin-login-err{color:#dc2626;margin-top:12px;font-size:13px}.admin-app{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f5f6f4;align-items:start}.admin-side{background:#fff;border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;padding:4px 12px 20px}.admin-tab{text-align:left;background:transparent;border:none;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.admin-tab:hover{background:#f4f4f5;color:var(--ink)}.admin-tab.active{background:#eef2ff;color:#3730a3;font-weight:500}.admin-side-foot{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:2px}.admin-link{background:transparent;border:none;text-align:left;padding:8px 12px;color:var(--muted-2);font-size:12.5px;cursor:pointer;border-radius:6px;font-family:inherit}.admin-link:hover{background:#f4f4f5;color:var(--muted)}.admin-main{padding:36px 44px 80px;max-width:920px}.admin-section h2{margin:0 0 6px;font-size:22px;font-weight:600}.admin-section h3{margin:24px 0 10px;font-size:12px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.admin-head-actions{display:flex;gap:8px}.admin-hint{color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 16px}.admin-hint code{background:#eef2ff;color:#3730a3;padding:1px 6px;border-radius:4px;font-size:12px;font-family:ui-monospace,Consolas,Monaco,monospace}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px;font-weight:500}.field input,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;outline:none;background:#fcfcfd;color:var(--ink);transition:border-color .15s,background .15s;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent);background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-bottom:8px}.link-row input{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-family:inherit;outline:none;background:#fcfcfd}.editor-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 8px;margin-bottom:14px}.editor-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:14px}.editor-card-head strong{font-weight:600}.editor-card-actions{display:flex;gap:6px}.btn-mini{border:1px solid var(--line);background:#fff;padding:5px 10px;font-size:12px;border-radius:7px;cursor:pointer;font-family:inherit;color:var(--muted)}.btn-mini:hover{background:#f4f4f5;color:var(--ink)}.btn-mini:disabled{opacity:.35;cursor:not-allowed}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:500;cursor:pointer;font-family:inherit}.btn-primary{background:#141414;color:#fff}.btn-primary:hover{background:#27272a}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn-secondary:hover{background:#f4f4f5}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--line)}.btn-ghost:hover{background:#f4f4f5;color:var(--ink)}.btn-danger{background:transparent;color:#dc2626;border:1px solid #fecaca;border-radius:9px;padding:8px 14px;font-size:13px;cursor:pointer;font-family:inherit}.btn-danger:hover{background:#fef2f2}.yaml-editor{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;font-family:ui-monospace,SF Mono,Consolas,Monaco,monospace;font-size:13px;line-height:1.65;outline:none;background:#fcfcfd;color:var(--ink);resize:vertical;-moz-tab-size:2;tab-size:2}.yaml-editor:focus{border-color:var(--accent);background:#fff}.admin-err{background:#fef2f2;color:#991b1b;padding:10px 14px;border-radius:9px;border:1px solid #fecaca;margin-bottom:16px;font-size:13px}.admin-msg{background:#f0fdf4;color:#166534;padding:10px 14px;border-radius:9px;border:1px solid #bbf7d0;margin-bottom:16px;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.stat-card.wide{grid-column:1 / -1}.stat-val{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.stat-label{font-size:12px;color:var(--muted-2)}.resume-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.resume-status{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap}.resume-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:500}.resume-badge.ok{background:#dcfce7;color:#15803d}.resume-badge.none{background:#f4f4f5;color:var(--muted-2)}@media (max-width: 900px){.top-nav{padding:20px 24px 0;grid-template-columns:auto 1fr auto;gap:12px}.nav-left{gap:18px;flex-wrap:wrap}.nav-link{font-size:10.5px;letter-spacing:.1em}.nav-brand{font-size:15px;justify-self:start}.nav-brand svg{width:20px;height:20px}.cta-pill{padding:10px 16px;font-size:10.5px}.hero-content{padding:0 24px 80px;gap:22px}.hero-backed-row{gap:22px}.hero-backed-item{font-size:20px}.project-page,.experience-page{padding:0 24px}.project-actions{flex-direction:column;align-items:stretch}.project-link-btn,.project-chat-btn{justify-content:center}.experience-grid{grid-template-columns:1fr;gap:32px}.experience-left{position:static;padding-top:0}.experience-right{padding:0}.page-dots{right:14px;gap:10px}.page-dot{width:6px;height:6px}.page-dot.active{height:18px}.chat-panel{width:calc(100vw - 24px);height:calc(100vh - 24px);border-radius:18px}.chat-body{padding:20px 18px 6px}.msg-content{max-width:84%}.admin-app{grid-template-columns:1fr}.admin-side{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:12px;gap:10px;overflow-x:auto}.admin-side nav{flex-direction:row;flex-wrap:nowrap}.admin-brand{padding:0 12px 0 0;flex-shrink:0}.admin-side-foot{border-top:none;flex-direction:row;padding:0;flex-shrink:0}.admin-main{padding:24px 18px 60px}.link-row,.field-row{grid-template-columns:1fr}.resume-nav{padding:14px 20px}.resume-content{padding:40px 20px 80px}.resume-html h1{font-size:26px}.resume-footer{padding:20px}.icp-footer{padding:0 20px;gap:12px;bottom:14px}.icp-link,.icp-copy{font-size:11px}}@media (max-width: 640px){.hero-headline{font-size:clamp(28px,8vw,40px)}.hero-content{gap:18px;padding-bottom:60px}.nav-left{gap:12px}.nav-link{font-size:10px}.cta-pill{padding:9px 13px;font-size:10px}.nav-brand span{display:none}.nav-brand svg{width:22px;height:22px}.hero-backed-row{gap:16px}.hero-backed-item{font-size:17px}.project-title{font-size:clamp(30px,9vw,44px)}.project-desc{font-size:14.5px}.experience-title{font-size:clamp(30px,8vw,42px)}.timeline{padding-left:28px;gap:34px}.timeline-item{grid-template-columns:60px 1fr;gap:12px}.timeline-year,.timeline-title{font-size:17px}.timeline-desc{font-size:14px}}@media (max-height: 560px) and (orientation: landscape){.hero-content{padding-bottom:40px;gap:14px}.hero-headline{font-size:clamp(24px,5vw,36px)}}@media (prefers-reduced-motion: reduce){.scroll-root{scroll-behavior:auto}.reveal{animation:none!important;opacity:1!important;transform:none!important}.hero-bg,.scroll-hint-line,.hero-badge-dot{animation:none!important}.scroll-hint{opacity:.72!important}}.chat-panel{width:min(920px,calc(100vw - 48px));height:min(780px,calc(100vh - 48px));border-radius:26px}.chat-body{padding:32px 40px 12px}.msg-list{gap:26px}.msg-row{display:flex;gap:14px;align-items:flex-start;width:100%}.msg-row.is-user .msg-content{align-items:flex-end;max-width:min(72%,620px);display:flex}.msg-row.is-bot .msg-content{max-width:min(76%,620px);display:flex}.msg-body{padding:14px 20px;border-radius:20px;line-height:1.75;font-size:15px}.msg-row.is-bot .msg-body{background:#f4f4f6;color:#111;border-top-left-radius:6px}.msg-row.is-user .msg-body{background:#111;color:#fff;border-top-right-radius:6px;border-bottom-right-radius:6px}.msg-avatar{width:36px;height:36px;font-size:18px;margin-top:2px}.chat-input-area{padding:18px 24px 22px}.composer{padding:10px 10px 10px 20px;border-radius:24px}.composer textarea{font-size:15px;padding:10px 0}.composer-btn{width:38px;height:38px}@media (max-width: 900px){.chat-panel{width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:20px}.chat-body{padding:22px 20px 8px}.msg-row.is-user .msg-content{max-width:82%}.msg-row.is-bot .msg-content{max-width:86%}.msg-body{padding:12px 16px;font-size:14.5px}}.msg-row.is-user{justify-content:flex-end;flex-direction:row}.msg-row.is-user .msg-content{align-items:flex-end;max-width:min(70%,600px);display:flex}.msg-row.is-user .msg-avatar-user{margin-top:2px;flex-shrink:0}.msg-row.is-bot{justify-content:flex-start;flex-direction:row}.msg-row.is-bot .msg-content{max-width:min(74%,600px);display:flex}.msg-avatar{width:36px;height:36px;font-size:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.msg-avatar-bot{background:linear-gradient(135deg,#eef2ff,#e0e7ff);box-shadow:0 1px 3px #4f46e51f}.msg-avatar-user{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 1px 3px #f59e0b26}@media (max-width: 900px){.msg-row.is-user .msg-content{max-width:78%}.msg-row.is-bot .msg-content{max-width:82%}}.chat-examples{display:flex;flex-wrap:wrap;gap:8px;padding:4px 4px 12px;margin-left:48px;animation:reveal-up .6s var(--ease-out) both}.chat-example-chip{border:1px solid rgba(79,70,229,.25);background:linear-gradient(135deg,#f5f3ff,#eef2ff);color:#4338ca;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .2s,background .15s,border-color .15s;letter-spacing:-.005em;text-align:left}.chat-example-chip:hover{transform:translateY(-1px);background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-color:#4f46e573;box-shadow:0 6px 16px -4px #4f46e540}.chat-example-chip:active{transform:translateY(0)}@media (max-width: 900px){.chat-examples{margin-left:44px}.chat-example-chip{font-size:13px;padding:8px 14px}}.sessions-section .admin-main{max-width:100%}.sessions-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;height:calc(100vh - 220px);min-height:500px}.sessions-list{border:1px solid var(--line);border-radius:14px;background:#fff;overflow-y:auto;padding:6px}.session-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font-family:inherit;transition:background .15s;margin-bottom:2px}.session-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.session-item-id{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:#3730a3;font-weight:600}.session-mode{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:500}.session-item-msg{font-size:13px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.session-item-meta{font-size:11.5px;color:#94a3b8}.sessions-detail{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.sessions-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px;padding:40px}.sessions-detail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);gap:12px}.sessions-detail-head strong{font-size:14px;margin-right:10px}.sessions-msglist{flex:1;overflow-y:auto;padding:16px 18px;background:#fcfcfd;display:flex;flex-direction:column;gap:14px}.sess-msg{max-width:78%;display:flex;flex-direction:column;gap:4px}.sess-msg-user{align-self:flex-end}.sess-msg-assistant,.sess-msg-human{align-self:flex-start}.sess-msg-role{font-size:11.5px;color:#94a3b8;font-weight:500;padding:0 4px}.sess-msg-body{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.sess-msg-user .sess-msg-body{background:#111;color:#fff;border-bottom-right-radius:4px}.sess-msg-assistant .sess-msg-body{background:#f4f4f6;color:#111;border-bottom-left-radius:4px}.sess-msg-human .sess-msg-body{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;border-bottom-left-radius:4px;border:1px solid #fcd34d}.sess-msg-time{font-size:11px;color:#cbd5e1;padding:0 4px}.sessions-say{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#fff;align-items:flex-end}.sessions-say textarea{flex:1;resize:none;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;outline:none;background:#fcfcfd;max-height:100px}.sessions-say textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #4f46e51a}.admin-app{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#f5f6f4;align-items:stretch}.admin-side{position:sticky;top:0;height:100vh;overflow-y:auto;background:#fff;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column}.admin-main{padding:40px 48px 100px;max-width:920px;min-width:0}@media (max-width: 900px){.admin-app{grid-template-columns:1fr}.admin-side{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:12px;gap:10px;overflow-x:auto;overflow-y:hidden}.admin-side nav{flex-direction:row;flex-wrap:nowrap}.admin-brand{padding:0 14px 0 0;flex-shrink:0;font-size:15px}.admin-side-foot{border-top:none;flex-direction:row;padding:0;flex-shrink:0}.admin-tab{font-size:14px;padding:9px 12px}.admin-main{padding:24px 18px 60px}}.admin-app{display:block;min-height:100vh;background:#f5f6f4;position:relative}.admin-side{position:fixed;top:0;left:0;bottom:0;width:260px;height:100vh;overflow-y:auto;overflow-x:hidden;background:#fff;border-right:1px solid #e4e4e7;padding:24px 14px;display:flex;flex-direction:column;z-index:10}.admin-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.01em;padding:4px 14px 22px;color:#111}.admin-side nav{display:flex;flex-direction:column;gap:2px;flex:1}.admin-tab{text-align:left;background:transparent;border:none;padding:11px 14px;border-radius:9px;font-size:15px;font-weight:500;color:#52525b;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;letter-spacing:-.005em}.admin-tab:hover{background:#f4f4f5;color:#111}.admin-tab.active{background:#eef2ff;color:#3730a3;font-weight:600}.admin-side-foot{border-top:1px solid #e4e4e7;padding-top:10px;display:flex;flex-direction:column;gap:2px}.admin-link{background:transparent;border:none;text-align:left;padding:10px 14px;color:#71717a;font-size:13.5px;cursor:pointer;border-radius:8px;font-family:inherit;transition:background .15s,color .15s}.admin-link:hover{background:#f4f4f5;color:#18181b}.admin-main{margin-left:260px;padding:40px 48px 100px;max-width:920px;min-width:0}.editor-card-head{font-size:16px}.editor-card-head strong{font-weight:600;color:#111;letter-spacing:-.01em}.sessions-layout{grid-template-columns:300px 1fr}@media (max-width: 900px){.admin-side{position:static;width:auto;height:auto;border-right:none;border-bottom:1px solid #e4e4e7;flex-direction:row;align-items:center;padding:12px;gap:10px;overflow-x:auto;overflow-y:hidden}.admin-side nav{flex-direction:row;flex-wrap:nowrap}.admin-brand{padding:0 14px 0 0;flex-shrink:0;font-size:15px}.admin-side-foot{border-top:none;flex-direction:row;padding:0;flex-shrink:0}.admin-tab{font-size:14px;padding:9px 12px}.admin-main{margin-left:0;padding:24px 18px 60px}}.msg-avatar-human{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 1px 3px #f59e0b33}.msg-row.is-human .msg-body{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;color:#78350f;border-top-left-radius:6px}.chat-avatar.human{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #f59e0b33}.chat-avatar.human+div .chat-status{color:#92400e}.admin-head h2{display:flex;align-items:center;gap:12px}.admin-head-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#ef4444;color:#fff;font-size:12px;font-weight:600;border-radius:999px;letter-spacing:0;animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 6px #ef444400}}.sessions-layout{display:grid;grid-template-columns:340px 1fr;gap:16px;height:calc(100vh - 190px);min-height:620px}.sessions-list{border:1px solid #e4e4e7;border-radius:14px;background:#fff;overflow-y:auto;padding:6px}.session-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:12px 14px;cursor:pointer;font-family:inherit;transition:background .15s;margin-bottom:2px;position:relative}.session-item:hover{background:#f4f4f5}.session-item.active{background:#eef2ff}.session-item.has-unread{background:#fff7ed}.session-item.has-unread:hover{background:#ffedd5}.session-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.session-item-id{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#3730a3;font-weight:600}.session-item-badges{display:flex;align-items:center;gap:6px}.session-mode{font-size:11.5px;padding:3px 9px;border-radius:999px;font-weight:500}.session-mode.ai{background:#eef2ff;color:#4338ca}.session-mode.human{background:#fef3c7;color:#92400e}.session-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;font-family:-apple-system,sans-serif;animation:badge-pulse 2s infinite}.session-item-msg{font-size:13.5px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.session-item-meta{font-size:12px;color:#94a3b8}.sessions-detail{display:flex;flex-direction:column;border:1px solid #e4e4e7;border-radius:14px;background:#fff;overflow:hidden;min-width:0}.sessions-msglist{flex:1;overflow-y:auto;padding:20px 22px;background:#fcfcfd;display:flex;flex-direction:column;gap:16px}.sess-msg{max-width:74%;display:flex;flex-direction:column;gap:5px}.sess-msg-body{padding:12px 16px;border-radius:16px;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.sessions-say{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #e4e4e7;background:#fff;align-items:flex-end}.sessions-say textarea{flex:1;resize:none;padding:12px 14px;border:1px solid #e4e4e7;border-radius:12px;font-family:inherit;font-size:14.5px;outline:none;background:#fcfcfd;max-height:120px}@media (max-width: 900px){.sessions-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:0}.sessions-list{max-height:40vh;order:2}.sessions-detail{min-height:60vh;order:1}.sess-msg{max-width:86%}.sessions-msglist{padding:16px;gap:12px}.sess-msg-body{font-size:14.5px;padding:10px 14px}.admin-head{flex-wrap:wrap}.admin-head h2{font-size:20px}.admin-head-badge{font-size:11px;padding:2px 8px}}@media (max-width: 640px){.sessions-list{max-height:32vh}.sessions-detail{min-height:55vh}.sessions-say textarea{font-size:16px}}.video-list{margin-top:4px}.video-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid #e4e4e7;border-radius:10px;margin-bottom:6px;background:#fcfcfd;transition:border-color .15s,background .15s}.video-item.active{border-color:#4f46e5;background:#eef2ff}.video-item-name{flex:1;text-align:left;border:none;background:transparent;font-family:inherit;font-size:13.5px;color:#3730a3;cursor:pointer;padding:4px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.video-item-size{font-size:12px;color:#94a3b8;font-family:ui-monospace,Consolas,monospace}.video-preview{margin:8px 0 16px}.hero-bg video{opacity:0;transition:opacity .6s ease}.snap-page{transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .9s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}.snap-page>*{transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .9s cubic-bezier(.22,1,.36,1)}.hero-bg video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1)}.hero-bg.video-ready video{opacity:1}.hero-page:not(.is-active) .hero-bg video{opacity:0;transition:opacity .5s ease-out}.project-glow{transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1);transform:translateY(-50%) scale(.95)}.project-page.is-active .project-glow{transform:translateY(-50%) scale(1)}.experience-glow{transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);transform:scale(.95)}.experience-page.is-active .experience-glow{transform:scale(1)}@media (max-width: 900px){.snap-page,.snap-page>*{transition-duration:.55s}.hero-bg video{transition-duration:.5s}}@media (prefers-reduced-motion: reduce){.snap-page,.snap-page>*,.hero-bg video,.project-glow,.experience-glow{transition:none!important}}.admin-login-hint{margin-top:16px;padding:12px;background:#f4f4f5;border-radius:10px;font-size:12.5px;color:#71717a;line-height:1.6;text-align:left}.project-page{position:relative;overflow:hidden}.project-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1);pointer-events:none}.project-bg.ready{opacity:1}.project-page:not(.is-active) .project-bg{opacity:0;transition:opacity .5s ease-out}.project-bg video,.project-bg img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.project-page.has-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,#ffffffe0,#ffffffb3 35%,#ffffff40,#fff0 85%);pointer-events:none}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#ffffffeb,#ffffffbf 40%,#ffffff59,#ffffff1a)}}.project-content{z-index:2}.media-picker{margin-top:6px}.media-picker-row{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.media-filter{padding:8px 12px;border:1px solid #e4e4e7;border-radius:9px;font-family:inherit;font-size:13.5px;background:#fcfcfd;color:#111;outline:none;cursor:pointer}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:12px}.media-cell{position:relative;background:#fcfcfd;border:1px solid #e4e4e7;border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.media-cell.active{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.media-cell-preview{display:block;width:100%;aspect-ratio:16 / 10;border:0;padding:0;background:#0a0a0f;cursor:pointer;overflow:hidden}.media-cell-preview video,.media-cell-preview img{width:100%;height:100%;object-fit:cover;display:block}.media-cell-info{padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px}.media-cell-name{font-size:11.5px;color:#52525b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-family:ui-monospace,Consolas,monospace}.media-cell-size{font-size:11px;color:#94a3b8;flex-shrink:0}.media-cell-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:0;background:#0000008c;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.media-cell:hover .media-cell-del{opacity:1}.media-cell-del:hover{background:#ef4444}.media-current{padding:10px 12px;background:#f4f4f5;border-radius:10px;margin-bottom:12px}.media-current code{background:#fff;border:1px solid #e4e4e7;padding:1px 6px;border-radius:4px;font-size:12px;color:#3730a3}.media-preview{border-radius:12px;overflow:hidden;background:#0a0a0f;max-height:220px}.media-preview video,.media-preview img{width:100%;height:100%;max-height:220px;object-fit:cover;display:block}.project-page.has-media:before{background:linear-gradient(90deg,#ffffffad,#ffffff7a,#ffffff26 60%,#fff0 85%)}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta{text-shadow:0 0 24px rgba(255,255,255,.9),0 0 8px rgba(255,255,255,.7),0 1px 2px rgba(255,255,255,.5)}.project-page.has-media .project-tag,.project-page.has-media .project-chat-btn{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#ffffffd1,#ffffff9e 40%,#ffffff38,#fff0)}}.sessions-layout{grid-template-columns:300px 1fr;gap:18px;height:calc(100vh - 160px);min-height:680px}.sessions-detail{min-width:0}.sessions-msglist{padding:26px 32px;gap:20px}.sess-msg{max-width:78%}.sess-msg-body{font-size:15.5px;line-height:1.75;padding:14px 18px;border-radius:16px}.sess-msg-role{font-size:12px}.sess-msg-time{font-size:11.5px;color:#cbd5e1}.sessions-detail-head{padding:16px 22px}.sessions-detail-head strong{font-size:15px}.sessions-say{padding:16px 22px}.sessions-say textarea{font-size:15px;padding:12px 16px}@media (max-width: 900px){.sessions-layout{display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none;height:auto;min-height:0;gap:12px}.sessions-detail{order:1;min-height:70vh}.sessions-list{order:2;max-height:42vh;overflow-y:auto}.sessions-msglist{padding:18px 16px;gap:14px}.sess-msg{max-width:88%}.sess-msg-body{font-size:14.5px;padding:11px 15px;line-height:1.7}.sessions-detail-head{padding:12px 14px;flex-wrap:wrap;gap:8px}.sessions-detail-head strong{font-size:14px}.sessions-detail-actions{gap:6px}.sessions-detail-actions button{padding:7px 12px;font-size:13px}.sessions-say{padding:12px 14px;gap:8px}.sessions-say textarea{font-size:16px;padding:10px 12px}.sessions-say button{padding:10px 14px;font-size:14px}}@media (max-width: 640px){.sessions-detail{min-height:65vh}.sessions-list{max-height:36vh}.sess-msg-body{font-size:14px;padding:10px 13px}.sess-msg{max-width:92%}.sessions-msglist{padding:14px 12px}}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta{text-shadow:0 1px 2px rgba(255,255,255,.55)}.project-page.has-media .project-title{font-weight:600;letter-spacing:-.04em}.chat-avatar.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #f59e0b26}.chat-avatar-status.pending{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b2e}.project-page.has-media:before{display:none}.project-page .project-content{background:#ffffffd1;backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:44px 48px;max-width:760px;box-shadow:0 24px 64px -20px #0f121929,0 8px 24px -8px #0f121914,0 0 0 1px #ffffff80 inset;transition:background .9s cubic-bezier(.22,1,.36,1)}.project-page:not(.has-media) .project-content{background:#ffffff73;border-color:#ffffff80;box-shadow:0 12px 32px -12px #0f121914}.project-page .project-title{color:#0f172a;font-weight:600;letter-spacing:-.04em}.project-page .project-subtitle{color:var(--accent);font-weight:500}.project-page .project-desc{color:#475569}.project-page .project-meta{color:#64748b}.project-page .project-num{font-weight:700}.project-page .project-tag{background:#f1f5f9;border-color:#e2e8f0;color:#334155;-webkit-backdrop-filter:none;backdrop-filter:none}.project-page .project-chat-btn{background:#fff;border-color:#e2e8f0;-webkit-backdrop-filter:none;backdrop-filter:none}.project-page .project-chat-btn:hover{background:#f8fafc;border-color:#cbd5e1}@media (max-width: 900px){.project-page{padding:0 16px}.project-page .project-content{padding:32px 24px;border-radius:22px;max-width:100%}.project-page .project-title{font-size:clamp(32px,9vw,46px)}}@media (max-width: 640px){.project-page .project-content{padding:26px 20px;border-radius:18px}.project-page .project-desc{font-size:14.5px}}.project-page.has-media:before{display:block!important;content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1!important;background:linear-gradient(100deg,#ffffffe6,#ffffffb8 30%,#ffffff61 55%,#ffffff14 78%,#fff0 90%)!important;pointer-events:none!important}.project-page .project-content{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;border-radius:0!important;padding:0!important;max-width:var(--shell)!important;box-shadow:none!important}.project-page .project-title,.project-page .project-subtitle,.project-page .project-desc,.project-page .project-meta{text-shadow:none!important}.project-page .project-tag{background:#ffffffe0!important;border:1px solid rgba(0,0,0,.08)!important;color:var(--ink-2)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.project-page .project-chat-btn{background:#ffffffe0!important;border:1px solid rgba(0,0,0,.08)!important;color:var(--ink)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.project-page .project-chat-btn:hover{background:#fff!important}@media (max-width: 900px){.project-page{padding:0 24px!important}.project-page .project-content{padding:0!important}.project-page.has-media:before{background:linear-gradient(180deg,#fffffff0,#ffffffd1 40%,#ffffff6b,#ffffff14)!important}}.experience-page{position:relative;overflow:hidden}.experience-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1);pointer-events:none}.experience-bg.ready{opacity:1}.experience-page:not(.is-active) .experience-bg{opacity:0;transition:opacity .5s ease-out}.experience-bg video,.experience-bg img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.experience-page.has-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(100deg,#ffffffe0,#ffffffa6 35%,#ffffff40 62%,#ffffff0d 88%);pointer-events:none}.experience-grid{z-index:2}@media (max-width: 900px){.experience-page.has-media:before{background:linear-gradient(180deg,#ffffffeb,#ffffffbf 45%,#ffffff59 75%,#ffffff1a)}}.sessions-section{padding:24px 32px 32px!important;max-width:none!important}.sessions-head{margin-bottom:16px!important}.sessions-layout{display:grid;grid-template-columns:340px 1fr;gap:0;height:calc(100vh - 180px);min-height:560px;background:#fff;border:1px solid #e4e4e7;border-radius:14px;overflow:hidden}.sessions-list{background:#f7f7f8;border-right:1px solid #e4e4e7;overflow-y:auto;padding:6px 0}.session-item{display:flex;gap:12px;width:100%;text-align:left;background:transparent;border:0;padding:12px 16px;cursor:pointer;font-family:inherit;transition:background .12s;position:relative}.session-item:hover{background:#ededf0}.session-item.active{background:#e4e4e7}.session-item.has-unread .session-item-msg{color:#111;font-weight:500}.session-avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.session-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.session-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-item-id{font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600;color:#111}.session-item-time{font-size:11px;color:#94a3b8;flex-shrink:0}.session-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-item-msg{font-size:13px;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.session-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:999px;flex-shrink:0;font-family:-apple-system,sans-serif}.session-mode-tag{display:inline-block;font-size:10.5px;padding:1px 6px;background:#fef3c7;color:#92400e;border-radius:4px;width:fit-content}.sessions-detail{display:flex;flex-direction:column;background:#fafafa;min-width:0}.sessions-detail-head{display:flex;align-items:center;gap:12px;padding:14px 22px;background:#fff;border-bottom:1px solid #e4e4e7;flex-shrink:0}.back-btn{display:none;width:32px;height:32px;border-radius:8px;border:0;background:transparent;font-size:18px;color:#52525b;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.back-btn:hover{background:#f4f4f5}.sessions-detail-title{display:flex;align-items:center;gap:10px;flex:1}.sessions-detail-title strong{font-size:14.5px;font-family:ui-monospace,Consolas,monospace;color:#111}.sessions-detail-actions{display:flex;gap:8px}.sessions-msglist{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px;background:#f5f5f7}.wx-msg{display:flex;gap:10px;align-items:flex-start;max-width:100%}.wx-msg-left{justify-content:flex-start}.wx-msg-right{justify-content:flex-end;flex-direction:row-reverse}.wx-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.wx-avatar-user{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.wx-bubble-wrap{display:flex;flex-direction:column;gap:4px;max-width:min(72%,640px);min-width:0}.wx-msg-right .wx-bubble-wrap{align-items:flex-end}.wx-bubble{padding:10px 14px;border-radius:10px;font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;position:relative}.wx-msg-left .wx-bubble{background:#fff;color:#111;box-shadow:0 1px 2px #0000000a}.wx-msg-left .wx-bubble:before{content:"";position:absolute;left:-5px;top:12px;width:0;height:0;border-right:6px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}.wx-msg-right .wx-bubble{background:#95ec69;color:#111}.wx-msg-right .wx-bubble:before{content:"";position:absolute;right:-5px;top:12px;width:0;height:0;border-left:6px solid #95ec69;border-top:5px solid transparent;border-bottom:5px solid transparent}.wx-msg-human .wx-bubble{background:#95ec69}.wx-msg-human .wx-bubble:before{border-left-color:#95ec69}.wx-time{font-size:11px;color:#94a3b8;padding:0 4px}.sessions-say{display:flex;gap:10px;padding:14px 20px;background:#fff;border-top:1px solid #e4e4e7;align-items:flex-end;flex-shrink:0}.sessions-say textarea{flex:1;resize:none;padding:11px 14px;border:1px solid #e4e4e7;border-radius:10px;font-family:inherit;font-size:14.5px;outline:none;background:#fcfcfd;max-height:120px;line-height:1.5}.sessions-say textarea:focus{border-color:#4f46e5;background:#fff;box-shadow:0 0 0 3px #4f46e51a}.sessions-say-disabled{padding:14px 20px;text-align:center;color:#94a3b8;font-size:13px;background:#fff;border-top:1px solid #e4e4e7;flex-shrink:0}.sessions-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;font-size:14px;padding:40px;gap:12px}.sessions-empty-icon{font-size:48px;opacity:.4}@media (max-width: 900px){.sessions-section{padding:16px!important}.sessions-layout{grid-template-columns:1fr;height:calc(100vh - 160px);min-height:500px;border-radius:12px}.sessions-list,.sessions-detail{grid-column:1;grid-row:1}.wechat-mode .sessions-list{display:flex;flex-direction:column}.wechat-mode .sessions-detail,.wechat-mode.mobile-detail .sessions-list{display:none}.wechat-mode.mobile-detail .sessions-detail,.back-btn{display:flex}.sessions-msglist{padding:16px 14px;gap:12px}.wx-bubble-wrap{max-width:82%}.wx-bubble{font-size:15px;padding:10px 13px;line-height:1.55}.wx-avatar{width:34px;height:34px;font-size:17px}.sessions-say{padding:10px 12px;gap:8px}.sessions-say textarea{font-size:16px;padding:9px 12px}.sessions-say button{padding:10px 16px;font-size:14px}}@media (max-width: 640px){.sessions-section{padding:12px!important}.sessions-layout{height:calc(100vh - 140px);min-height:400px;border-radius:10px}.sessions-detail-head{padding:10px 14px;gap:8px}.sessions-detail-title strong{font-size:13.5px}.session-mode{font-size:11px;padding:2px 7px}.sessions-detail-actions button{padding:7px 12px;font-size:13px}.wx-bubble-wrap{max-width:86%}.wx-bubble{font-size:14.5px}}.wx-msg-right{flex-direction:row!important;justify-content:flex-end!important}.wx-msg-right .wx-bubble-wrap{order:1;align-items:flex-end}.wx-msg-right .wx-avatar{order:2}.project-page.has-media:before{background:linear-gradient(100deg,#ffffffb8,#ffffff85,#ffffff47 50%,#ffffff14 72%,#fff0 88%,#fff0)!important}.experience-page.has-media:before{background:linear-gradient(100deg,#ffffffb8,#ffffff80 30%,#ffffff38 55%,#ffffff0d 78%,#fff0 92%)!important}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-desc{text-shadow:0 1px 3px rgba(255,255,255,.7)}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#ffffffd9,#ffffff9e 40%,#ffffff47,#ffffff0f)!important}.experience-page.has-media:before{background:linear-gradient(180deg,#ffffffd9,#fff9 45%,#ffffff40 75%,#ffffff0d)!important}}.project-page.has-media:before{background:linear-gradient(100deg,#ffffff8c,#ffffff6b 22%,#ffffff38,#ffffff14 68%,#fff0 82%,#fff0)!important}.experience-page.has-media:before{background:linear-gradient(100deg,#ffffff8c,#fff6,#ffffff2e 50%,#ffffff0d 72%,#fff0 88%)!important}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-desc{text-shadow:0 1px 4px rgba(255,255,255,.85)}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#ffffffc7,#ffffff8c 40%,#ffffff38,#ffffff0a)!important}.experience-page.has-media:before{background:linear-gradient(180deg,#ffffffc7,#ffffff85 45%,#fff3 75%,#ffffff0a)!important}}.hero-page .hero-content{max-width:50%!important;padding-right:24px!important;box-sizing:border-box}.hero-page .hero-headline{max-width:100%!important;word-break:break-word}.hero-page .hero-headline-line2{color:#52525b!important}.hero-page .hero-badge{color:#1f2937!important;background:#ffffffe0!important;border:1px solid rgba(0,0,0,.08)!important}.hero-page .hero-badge-text{color:#1f2937!important;font-weight:500!important}.hero-page .hero-backed-label{color:#52525b!important;font-weight:600!important;letter-spacing:.16em!important}.hero-page .hero-backed{max-width:100%!important}.hero-page .hero-backed-row{gap:22px 28px!important;flex-wrap:wrap!important}.hero-page .hero-backed-item{font-size:20px!important;color:#111!important;font-weight:500!important}.hero-page .top-nav{max-width:100%!important}@media (max-width: 900px){.hero-page .hero-content{max-width:100%!important;padding-right:24px!important}.hero-page .hero-backed-row{gap:14px 20px!important}.hero-page .hero-backed-item{font-size:17px!important}}@media (min-width: 1400px){.hero-page .hero-content{max-width:48%!important}}.hero-page .hero-content{max-width:50%!important;width:50%!important;margin-left:0!important;margin-right:auto!important;padding-left:55px!important;padding-right:32px!important;box-sizing:border-box}.hero-page .top-nav{max-width:100%!important;padding-left:48px!important;padding-right:48px!important}.hero-page .hero-headline,.hero-page .hero-badge,.hero-page .hero-backed{max-width:100%!important}@media (max-width: 900px){.hero-page .hero-content{max-width:100%!important;width:100%!important;margin-left:0!important;padding-left:24px!important;padding-right:24px!important}}@media (min-width: 1400px){.hero-page .hero-content{max-width:45%!important;width:45%!important}}.project-page.has-media:before{background:linear-gradient(100deg,#ffffffeb,#ffffffe6 38%,#ffffffb8,#ffffff1f 62%,#fff0 72%,#fff0)!important}.experience-page.has-media:before{background:linear-gradient(100deg,#ffffffeb,#ffffffe6 40%,#ffffffb8,#ffffff1f 64%,#fff0 74%)!important}.project-page .project-content,.experience-page .experience-grid{max-width:55%!important}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-desc{text-shadow:none!important}.project-page .project-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:520px!important}.project-page .project-desc{color:#334155!important;line-height:1.65!important}.project-page .project-subtitle{font-weight:600!important}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#fffffff0,#ffffffdb 40%,#ffffff80,#ffffff1a 90%,#fff0)!important}.experience-page.has-media:before{background:linear-gradient(180deg,#fffffff0,#ffffffdb 45%,#ffffff80,#ffffff1a 95%)!important}.project-page .project-content,.experience-page .experience-grid,.project-page .project-tags{max-width:100%!important}}.project-page.has-media:before{background:linear-gradient(100deg,#fffffff0,#ffffffeb 38%,#ffffffb8,#ffffff1f 62%,#fff0 72%,#fff0)!important}.experience-page.has-media:before{background:linear-gradient(100deg,#fffffff0,#ffffffeb 40%,#ffffffb8,#ffffff1f 64%,#fff0 74%)!important}.project-page .project-tags{max-width:520px!important}.project-page .project-desc{color:#334155!important}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta{text-shadow:none!important}.hero-page .hero-content{position:relative!important;max-width:50%!important;width:50%!important;margin-left:0!important;margin-right:auto!important;padding-left:56px!important;padding-right:32px!important;box-sizing:border-box!important}.project-page{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding-left:56px!important;padding-right:56px!important}.project-page .project-content{position:relative!important;max-width:50%!important;width:50%!important;margin-left:0!important;margin-right:auto!important;box-sizing:border-box!important}.experience-page{padding-left:56px!important;padding-right:56px!important}.experience-page .experience-grid{position:relative!important;max-width:50%!important;width:50%!important;margin-left:0!important;margin-right:auto!important;grid-template-columns:1fr!important;gap:32px!important;box-sizing:border-box!important}.experience-page .experience-left{position:static!important;padding-top:0!important}@media (max-width: 900px){.hero-page .hero-content,.project-page .project-content,.experience-page .experience-grid{max-width:100%!important;width:100%!important;padding-left:20px!important;padding-right:20px!important}.project-page,.experience-page{padding-left:20px!important;padding-right:20px!important}}.project-page.has-media:before{background:linear-gradient(100deg,#ffffff8c,#ffffff7a 25%,#ffffff52,#ffffff1f 65%,#fff0 80%,#fff0)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.experience-page.has-media:before{background:linear-gradient(100deg,#ffffff8c,#ffffff75 28%,#ffffff4d,#ffffff1a 68%,#fff0 82%)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-desc{text-shadow:0 1px 3px rgba(255,255,255,.9)!important}@media (max-width: 900px){.project-page.has-media:before{background:linear-gradient(180deg,#ffffffc7,#ffffff8c 40%,#ffffff40,#ffffff0d)!important}.experience-page.has-media:before{background:linear-gradient(180deg,#ffffffc7,#ffffff80 45%,#ffffff38 75%,#ffffff0d)!important}}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.project-page.has-media .project-num,.project-page.has-media .project-tag,.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .experience-eyebrow,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-org,.experience-page.has-media .timeline-desc,.hero-page .hero-headline,.hero-page .hero-headline-line2,.hero-page .hero-backed-label,.hero-page .hero-backed-item{text-shadow:none!important}.experience-page .experience-grid{max-width:var(--shell)!important;width:100%!important;margin:0 auto!important;grid-template-columns:minmax(300px,1fr) 1.4fr!important;gap:80px!important;align-items:start!important}.experience-page .experience-left{position:sticky!important;top:20vh!important;padding-top:20px!important}.experience-page .experience-right{padding:12vh 0!important}.experience-page.has-media:before{background:linear-gradient(100deg,#fffffff0,#ffffffeb 40%,#ffffffb8,#ffffff1f 64%,#fff0 74%)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.experience-page.has-media .experience-title,.experience-page.has-media .experience-sub,.experience-page.has-media .experience-eyebrow,.experience-page.has-media .timeline-title,.experience-page.has-media .timeline-year,.experience-page.has-media .timeline-org,.experience-page.has-media .timeline-desc{text-shadow:none!important}@media (max-width: 900px){.experience-page .experience-grid{max-width:100%!important;grid-template-columns:1fr!important;gap:32px!important}.experience-page .experience-left{position:static!important;padding-top:0!important}.experience-page .experience-right{padding:0!important}.experience-page.has-media:before{background:linear-gradient(180deg,#fffffff0,#ffffffe0 45%,#ffffff80,#ffffff1a 95%)!important}}.experience-page .experience-left,.experience-page .timeline-item{position:relative}.experience-page .experience-title,.experience-page .experience-sub,.experience-page .experience-eyebrow,.experience-page .timeline-title,.experience-page .timeline-year,.experience-page .timeline-org,.experience-page .timeline-desc{text-shadow:0 0 8px rgba(255,255,255,.95),0 1px 2px rgba(255,255,255,.9)!important}.project-bg video,.experience-bg video,.hero-bg video{filter:contrast(1.08) saturate(1.08) brightness(1.02);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.project-bg img,.experience-bg img{filter:contrast(1.05) saturate(1.05)}.project-page.has-media:before,.experience-page.has-media:before,.hero-page .hero-bg:before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.project-bg video,.experience-bg video,.hero-bg video,.project-bg img,.experience-bg img{filter:none!important}.project-bg video,.experience-bg video,.hero-bg video{image-rendering:auto!important}.project-bg video,.experience-bg video,.hero-bg video{image-rendering:-webkit-optimize-contrast!important}.experience-page .experience-left{position:static!important;top:auto!important;padding-top:12vh!important;padding-left:8px!important}.experience-page .experience-title{-webkit-text-stroke:1.5px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:none!important}.experience-page .experience-sub{color:#3f3f46!important;-webkit-text-stroke:.8px rgba(255,255,255,.95);paint-order:stroke fill;font-weight:500!important;text-shadow:none!important}.experience-page .experience-eyebrow{color:#52525b!important;-webkit-text-stroke:.6px rgba(255,255,255,.95);paint-order:stroke fill;font-weight:600!important;text-shadow:none!important}.experience-page .timeline-title,.experience-page .timeline-desc,.experience-page .timeline-org,.experience-page .timeline-year{-webkit-text-stroke:.5px rgba(255,255,255,.9);paint-order:stroke fill;text-shadow:none!important}@media (max-width: 900px){.experience-page .experience-left{padding-top:8vh!important;padding-left:0!important}.experience-page .experience-title{-webkit-text-stroke:1px rgba(255,255,255,.95)}}.experience-page .experience-grid{display:flex!important;flex-direction:column!important;max-width:var(--shell)!important;width:100%!important;margin:0 40px 0 auto!important;gap:32px!important;align-items:flex-start!important;padding-left:45%!important;padding-right:0!important;box-sizing:border-box!important}.experience-page .experience-left{position:static!important;padding:0!important;padding-top:10vh!important;margin:0!important;width:100%!important}.experience-page .experience-right{padding:0!important;margin:0!important;width:100%!important}.experience-page .experience-title,.experience-page .experience-sub,.experience-page .experience-eyebrow,.experience-page .timeline-title,.experience-page .timeline-desc,.experience-page .timeline-org,.experience-page .timeline-year{-webkit-text-stroke:0!important;paint-order:normal!important;text-shadow:none!important}.experience-page .experience-title{color:#0f172a!important;font-size:clamp(36px,4vw,56px)!important;line-height:1.1!important;margin-bottom:8px!important}.experience-page .experience-sub{color:#475569!important;font-size:16px!important;font-weight:400!important}.experience-page .experience-eyebrow{color:#71717a!important;font-size:11px!important;font-weight:600!important;letter-spacing:.24em!important;margin-bottom:12px!important}@media (max-width: 900px){.experience-page .experience-grid{padding-left:20px!important;padding-right:20px!important;margin-right:0!important}.experience-page .experience-left{padding-top:6vh!important}}.experience-page .experience-grid{padding-top:8vh!important;padding-bottom:12vh!important}.experience-page .experience-left{padding-top:0!important;padding-bottom:20px!important}.experience-page .experience-title{margin-bottom:6px!important}.experience-page .experience-sub{margin-bottom:0!important}.experience-page .timeline{gap:28px!important;padding-left:36px!important}.experience-page .timeline-item{grid-template-columns:72px 1fr!important;gap:16px!important}.experience-page .timeline-body{gap:4px!important}.experience-page .timeline-desc{margin-top:2px!important}.experience-page .experience-right{padding:0!important}@media (max-width: 900px){.experience-page .experience-grid{padding-top:6vh!important;padding-bottom:10vh!important}.experience-page .timeline{gap:22px!important}.experience-page .timeline-item{grid-template-columns:56px 1fr!important;gap:12px!important}}.msg-body-streaming{white-space:pre-wrap;word-break:break-word}.msg-body{transform:translateZ(0);backface-visibility:hidden}.experience-bg{opacity:1!important;transition:opacity .6s ease!important}.experience-page:not(.is-active) .experience-bg{opacity:0!important}.project-bg{opacity:1!important;transition:opacity .6s ease!important}.project-page:not(.is-active) .project-bg{opacity:0!important}.hero-bg video{opacity:1!important;transition:opacity .6s ease!important}.project-page.has-media:before{display:none!important;background:none!important}.project-page.has-media .project-title,.project-page.has-media .project-subtitle,.project-page.has-media .project-desc,.project-page.has-media .project-meta,.project-page.has-media .project-num,.project-page.has-media .project-total,.project-page.has-media .project-slash{-webkit-text-stroke:.6px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:none!important}.project-page.has-media .project-tag,.project-page.has-media .project-chat-btn,.project-page.has-media .project-status-pill{-webkit-text-stroke:0!important;paint-order:normal!important}.project-page .project-title,.project-page .project-subtitle,.project-page .project-desc,.project-page .project-meta,.project-page .project-num,.project-page .project-total,.project-page .project-slash,.project-page .project-status-pill,.project-page .project-tag,.project-page .project-chat-btn,.project-page .project-link-btn,.experience-page .experience-title,.experience-page .experience-sub,.experience-page .experience-eyebrow,.experience-page .timeline-title,.experience-page .timeline-year,.experience-page .timeline-org,.experience-page .timeline-desc{-webkit-text-stroke:0!important;paint-order:normal!important;text-shadow:none!important}.project-page.has-media:before,.experience-page.has-media:before{display:none!important;background:none!important}.project-page.theme-dark .project-title{color:#0f172a}.project-page.theme-dark .project-desc{color:#334155}.project-page.theme-dark .project-meta,.project-page.theme-dark .project-total,.project-page.theme-dark .project-slash{color:#64748b}.project-page.theme-dark .project-num{color:var(--accent)}.project-page.theme-light .project-title{color:#fff}.project-page.theme-light .project-desc{color:#e4e4e7}.project-page.theme-light .project-meta,.project-page.theme-light .project-total,.project-page.theme-light .project-slash{color:#a1a1aa}.project-page.theme-light .project-num,.project-page.theme-light .project-subtitle,.project-page.theme-dark .project-subtitle{color:var(--accent)}.experience-page.theme-light .experience-title{color:#fff}.experience-page.theme-light .experience-sub{color:#d4d4d8}.experience-page.theme-light .experience-eyebrow{color:#a1a1aa}.experience-page.theme-light .timeline-title{color:#fff}.experience-page.theme-light .timeline-year{color:#a5b4fc}.experience-page.theme-light .timeline-org{color:#a1a1aa}.experience-page.theme-light .timeline-desc{color:#d4d4d8}.experience-page.theme-light .timeline:before{background:linear-gradient(180deg,#ffffff1a,#ffffff59 20%,#ffffff59 80%,#ffffff1a)!important}.experience-page.theme-light .timeline-item:before{background:#1a1a24!important;border-color:#818cf8!important;box-shadow:0 0 0 4px #818cf833!important}.project-page.has-media:before{display:block!important;content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1!important;background:linear-gradient(100deg,#ffffff8c,#ffffff7a 25%,#ffffff52,#ffffff1f 65%,#fff0 80%,#fff0)!important;pointer-events:none!important}.experience-page.has-media:before{display:block!important;content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1!important;background:linear-gradient(100deg,#ffffff8c,#ffffff75 28%,#ffffff4d,#ffffff1a 68%,#fff0 82%)!important;pointer-events:none!important}.project-page .project-title,.project-page .project-subtitle,.project-page .project-desc,.project-page .project-meta,.project-page .project-num,.project-page .project-total,.project-page .project-slash,.experience-page .experience-title,.experience-page .experience-sub,.experience-page .experience-eyebrow,.experience-page .timeline-title,.experience-page .timeline-year,.experience-page .timeline-org,.experience-page .timeline-desc{-webkit-text-stroke:0!important;paint-order:normal!important;text-shadow:none!important}.project-page .project-title{color:#0f172a!important}.project-page .project-subtitle{color:var(--accent)!important}.project-page .project-desc{color:#475569!important}.project-page .project-meta,.project-page .project-total,.project-page .project-slash{color:#8a8a8a!important}.project-page .project-num{color:var(--accent)!important}.experience-page .experience-title{color:#0f172a!important}.experience-page .experience-sub{color:#5c5c5c!important}.experience-page .experience-eyebrow{color:#8a8a8a!important}.experience-page .timeline-title{color:#0f172a!important}.experience-page .timeline-year{color:var(--accent)!important}.experience-page .timeline-org{color:#8a8a8a!important}.experience-page .timeline-desc{color:#5c5c5c!important}.experience-page .timeline:before{background:linear-gradient(180deg,#0000000d,#0000002e 20%,#0000002e 80%,#0000000d)!important}.experience-page .timeline-item:before{background:#fff!important;border-color:var(--accent)!important;box-shadow:0 0 0 4px #4f46e514!important}.project-content,.experience-grid{z-index:2!important}.experience-page.has-media:before{display:none!important;background:none!important}.project-page,.experience-page,.hero-page{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}.project-page .project-title,.experience-page .experience-title{font-weight:700!important;letter-spacing:-.035em!important;line-height:1.05!important;color:#0a0a0a!important}.project-page .project-subtitle{font-weight:600!important;letter-spacing:-.005em!important}.project-page .project-desc{font-weight:400!important;line-height:1.7!important;color:#3f3f46!important;letter-spacing:-.005em!important}.project-page .project-num{font-weight:700!important;letter-spacing:-.02em!important}.project-page .project-total,.project-page .project-slash{font-weight:500!important;color:#71717a!important}.experience-page .experience-title{color:#0a0a0a!important}.experience-page .experience-sub{color:#3f3f46!important;font-weight:500!important}.experience-page .experience-eyebrow{color:#52525b!important;font-weight:600!important;letter-spacing:.24em!important}.experience-page .timeline-title{color:#0a0a0a!important;font-weight:700!important;letter-spacing:-.015em!important}.experience-page .timeline-year{font-weight:700!important;letter-spacing:-.01em!important}.experience-page .timeline-org{color:#52525b!important;font-weight:500!important}.experience-page .timeline-desc{color:#3f3f46!important;line-height:1.7!important}.experience-page .timeline:before{background:linear-gradient(180deg,#0000000a,#00000038 15%,#00000038 85%,#0000000a)!important}.experience-page .timeline-item:before{background:#fff!important;border:2.5px solid var(--accent)!important;box-shadow:0 0 0 4px #4f46e51a!important}@media print{body{background:#fff}.resume-nav,.resume-footer,.resume-back,.resume-actions,.icp-footer,.page-dots,.chat-overlay,.chat-panel{display:none!important}.resume-content{max-width:100%;padding:0}}.hero-page .hero-content{max-width:55%!important;width:55%!important;margin-left:0!important;margin-right:auto!important;padding-left:8vw!important;padding-right:32px!important}.hero-page .top-nav{padding-left:8vw!important;padding-right:6vw!important}.project-page{padding-left:8vw!important;padding-right:8vw!important}.project-page .project-content{max-width:55%!important;width:55%!important;margin-left:0!important;margin-right:auto!important}.experience-page .experience-grid{padding-left:32%!important;padding-right:4vw!important;margin-right:auto!important}@media (max-width: 900px){.hero-page .hero-content,.project-page .project-content,.experience-page .experience-grid{max-width:100%!important;width:100%!important;padding-left:20px!important;padding-right:20px!important;margin-right:0!important}.hero-page .top-nav,.project-page{padding-left:20px!important;padding-right:20px!important}}@media (min-width: 1400px){.hero-page .hero-content{padding-left:6vw!important}.project-page{padding-left:6vw!important;padding-right:6vw!important}.experience-page .experience-grid{padding-left:28%!important}}.experience-page .experience-grid{padding-left:44%!important;padding-right:4vw!important}@media (min-width: 1400px){.experience-page .experience-grid{padding-left:42%!important}}.experience-page .experience-grid{padding-left:40%!important;padding-right:3vw!important;width:100%!important;max-width:100%!important}.experience-page .experience-title{font-size:clamp(42px,4.6vw,64px)!important;line-height:1.05!important;margin-bottom:10px!important}.experience-page .experience-sub{font-size:17px!important}.experience-page .experience-eyebrow{font-size:12px!important;margin-bottom:14px!important}.experience-page .timeline{gap:34px!important}.experience-page .timeline-item{grid-template-columns:84px 1fr!important;gap:20px!important}.experience-page .timeline-year{font-size:22px!important}.experience-page .timeline-title{font-size:21px!important;line-height:1.3!important;margin-bottom:4px!important}.experience-page .timeline-org{font-size:14px!important}.experience-page .timeline-desc{font-size:15.5px!important;line-height:1.75!important;margin-top:6px!important}@media (min-width: 1400px){.experience-page .experience-grid{padding-left:38%!important}}@media (max-width: 900px){.experience-page .experience-grid{padding-left:20px!important;padding-right:20px!important}.experience-page .experience-title{font-size:clamp(32px,8vw,44px)!important}.experience-page .timeline-title{font-size:18px!important}.experience-page .timeline-desc{font-size:14.5px!important}.experience-page .timeline-item{grid-template-columns:60px 1fr!important;gap:14px!important}}.experience-page .experience-grid{padding-left:48%!important;padding-right:2vw!important}.experience-page .experience-title{font-size:clamp(48px,5.2vw,72px)!important;line-height:1.02!important}.experience-page .experience-sub{font-size:18px!important}.experience-page .experience-eyebrow{font-size:13px!important}.experience-page .timeline-year{font-size:24px!important}.experience-page .timeline-title{font-size:24px!important;line-height:1.3!important}.experience-page .timeline-org{font-size:15px!important}.experience-page .timeline-desc{font-size:17px!important;line-height:1.75!important}.experience-page .timeline{gap:38px!important}.experience-page .timeline-item{grid-template-columns:92px 1fr!important;gap:24px!important}@media (min-width: 1400px){.experience-page .experience-grid{padding-left:46%!important}}@media (max-width: 900px){.experience-page .experience-grid{padding-left:20px!important;padding-right:20px!important}.experience-page .timeline-title{font-size:19px!important}.experience-page .timeline-desc{font-size:15px!important}}@media (max-width: 900px){.sessions-section .sessions-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;height:calc(100vh - 160px)!important;min-height:500px!important}.sessions-section .sessions-list,.sessions-section .sessions-detail{grid-column:1!important;grid-row:1!important}.sessions-section.mobile-list .sessions-list{display:flex!important;flex-direction:column!important;max-height:none!important;height:100%!important;overflow-y:auto!important}.sessions-section.mobile-list .sessions-detail,.sessions-section.mobile-detail .sessions-list{display:none!important}.sessions-section.mobile-detail .sessions-detail{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important}.sessions-section .back-btn{display:flex!important}}.resume-content-full{flex:1;width:100%;display:flex;justify-content:center;padding:0;background:#edf0f4}.resume-iframe{width:100%;min-height:calc(100vh - 60px);border:0;display:block;background:#edf0f4}@media (max-width: 720px){.resume-content-full{padding:0}.resume-iframe{min-height:100vh}}.resume-nav{position:sticky;top:0;z-index:10}.resume-footer{position:relative;z-index:10}
