:root{color-scheme:light;--bg:#f5f8fc;--bg-soft:#edf3fb;--card:hsla(0,0%,100%,.94);--card-strong:#fff;--text:#152033;--text-soft:#5d6b82;--text-muted:#8793a8;--border:rgba(126,146,176,.22);--primary:#2f7df6;--primary-strong:#1c63d7;--primary-soft:rgba(47,125,246,.11);--success:#16b981;--shadow:0 18px 50px rgba(28,57,97,.1);--shadow-soft:0 10px 28px rgba(28,57,97,.08);--radius-lg:24px;--radius-md:18px;--radius-sm:12px;--page-max:1480px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0d1320;--bg-soft:#121b2c;--card:rgba(22,31,48,.92);--card-strong:#19243a;--text:#edf4ff;--text-soft:#b4c0d4;--text-muted:#7f8ca3;--border:rgba(139,161,196,.2);--primary:#6ea4ff;--primary-strong:#8bb6ff;--primary-soft:rgba(110,164,255,.14);--success:#36d399;--shadow:0 18px 60px rgba(0,0,0,.36);--shadow-soft:0 10px 28px rgba(0,0,0,.24)}}html[data-theme=light]{color-scheme:light;--bg:#f5f8fc;--bg-soft:#edf3fb;--card:hsla(0,0%,100%,.94);--card-strong:#fff;--text:#152033;--text-soft:#5d6b82;--text-muted:#8793a8;--border:rgba(126,146,176,.22);--primary:#2f7df6;--primary-strong:#1c63d7;--primary-soft:rgba(47,125,246,.11);--success:#16b981;--shadow:0 18px 50px rgba(28,57,97,.1);--shadow-soft:0 10px 28px rgba(28,57,97,.08)}html[data-theme=dark]{color-scheme:dark;--bg:#0d1320;--bg-soft:#121b2c;--card:rgba(22,31,48,.92);--card-strong:#19243a;--text:#edf4ff;--text-soft:#b4c0d4;--text-muted:#7f8ca3;--border:rgba(139,161,196,.2);--primary:#6ea4ff;--primary-strong:#8bb6ff;--primary-soft:rgba(110,164,255,.14);--success:#36d399;--shadow:0 18px 60px rgba(0,0,0,.36);--shadow-soft:0 10px 28px rgba(0,0,0,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:radial-gradient(circle at top left,var(--primary-soft),transparent 34rem),linear-gradient(180deg,var(--bg),var(--bg-soft));color:var(--text);line-height:1.56}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.62}h1,h2,h3,p{margin:0}.page-shell{width:min(100% - 24px,var(--page-max));margin:0 auto;padding:14px 0 30px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:soft-rise .5s cubic-bezier(.22,1,.36,1) both;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.top-nav{position:sticky;z-index:20;top:10px;justify-content:space-between;gap:18px;min-height:50px;margin-bottom:14px;padding:8px 14px}.brand,.contact-grid,.metric-row,.nav-actions,.nav-links,.profile-meta,.result-grid,.tag-list,.tech-stack,.top-nav{display:flex;align-items:center}.brand{gap:10px;font-weight:800}.brand-mark{display:grid;width:28px;height:28px;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary-strong)}.nav-links{gap:22px;color:var(--text-soft);font-size:13px}.contact-link:hover,.nav-links a:hover{color:var(--primary-strong)}.nav-actions{gap:10px}.assistant-form button,.ghost-button,.primary-button{border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px}.ghost-button{border:1px solid var(--border);color:var(--text-soft);background:transparent}.assistant-form button,.primary-button{border:1px solid transparent;background:var(--primary);color:#fff}.desktop-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.award-list,.content-grid,.main-stack,.project-list,.resume-column,.side-stack{display:grid;gap:12px}.content-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);margin-top:12px;align-items:start}.profile-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;padding:22px;overflow:hidden}.avatar-wrap{position:relative;justify-self:center}.avatar{display:grid;width:88px;height:88px;place-items:center;border:6px solid var(--bg-soft);border-radius:50%;background:linear-gradient(135deg,var(--primary),#9ed0ff);color:#fff;font-size:24px;font-weight:900;letter-spacing:.03em;box-shadow:inset 0 0 18px #ffffff2e,0 12px 28px #2f7df633}.status-dot{position:absolute;right:8px;bottom:8px;width:13px;height:13px;border:3px solid var(--card-strong);border-radius:50%;background:var(--success);animation:pulse-dot 1.8s ease-in-out infinite}.profile-main{min-width:0}.profile-title-row{display:flex;justify-content:space-between;gap:18px}.eyebrow,.section-subtitle{color:var(--primary-strong);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.profile-title-row h1{margin-top:4px;font-size:clamp(30px,3.4vw,40px);line-height:1.08;letter-spacing:-.04em}.profile-title{margin-top:4px;color:var(--text-soft);font-weight:700}.profile-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:170px}.metric-pill,.profile-meta span,.result-item,.tag,.tech-stack span{border:1px solid var(--border);border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:12px;font-weight:700}.profile-meta span{padding:5px 10px}.profile-summary{max-width:760px;margin-top:12px;color:var(--text-soft);font-size:14px}.tag-list{flex-wrap:wrap;gap:6px;margin-top:12px}.tag{padding:5px 9px;transition:transform .18s ease,background .18s ease,border-color .18s ease}.contact-grid{flex-wrap:wrap;gap:8px 14px;margin-top:12px}.contact-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);font-size:13px}.contact-icon{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--bg-soft);color:var(--primary-strong);font-size:11px;font-weight:900}.section-card{padding:18px}.assistant-panel:hover,.profile-card:hover,.section-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 38%,var(--border));box-shadow:var(--shadow)}.section-header{margin-bottom:12px}.section-header h2{margin-top:2px;font-size:19px;letter-spacing:-.02em}.timeline{position:relative;display:grid;gap:13px}.timeline:before{position:absolute;top:8px;bottom:8px;left:6px;width:2px;content:"";background:var(--border)}.timeline-item{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr)}.timeline-dot{z-index:1;width:14px;height:14px;margin-top:7px;border:3px solid var(--card-strong);border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.item-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:7px}.item-heading.compact{gap:12px}.award-item h3,.item-heading h3,.skill-group h3{font-size:15px;line-height:1.35}.award-item p,.item-heading p,.muted-line,.project-description{color:var(--text-soft);font-size:13px}.item-heading time{flex:0 0 auto;color:var(--text-muted);font-size:12px;white-space:nowrap}.clean-list{display:grid;gap:5px;margin:0;padding:0;color:var(--text-soft);font-size:13px;list-style:none}.clean-list li{position:relative;padding-left:16px}.clean-list li:before{position:absolute;top:.72em;left:0;width:5px;height:5px;border-radius:50%;content:"";background:var(--primary)}.compact-list{margin-top:7px;font-size:12px}.metric-row,.result-grid{flex-wrap:wrap;gap:6px;margin-top:10px}.metric-pill,.result-item{padding:5px 8px}.project-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--card-strong) 70%,transparent);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));box-shadow:var(--shadow-soft)}.project-description{margin-bottom:8px}.tech-stack{flex-wrap:wrap;gap:6px;margin-top:10px}.tech-stack span{padding:5px 9px;background:transparent;color:var(--text-soft)}.compact-item+.compact-item,.skill-group+.skill-group{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.skill-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.skill-group-count{color:var(--text-muted);font-size:11px;font-weight:700}.skill-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.skill-chip{border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:8px;padding:6px 8px;background:color-mix(in srgb,var(--primary-soft) 55%,var(--card-strong));color:var(--text-soft);font-size:12px;line-height:1.25}.award-list{gap:9px}.award-item{padding-left:12px;border-left:3px solid var(--primary)}.assistant-panel{position:sticky;top:94px;display:grid;max-height:calc(100vh - 116px);padding:22px;overflow:hidden}.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.assistant-header h2{margin-top:2px;font-size:19px}.assistant-header.compact h2{font-size:17px}.assistant-status{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-size:12px;font-weight:800}.assistant-status:before{width:7px;height:7px;border-radius:50%;content:"";background:currentColor}.assistant-intro{margin-top:12px;color:var(--text-soft);font-size:13px}.prompt-list{display:grid;gap:8px;margin-top:16px}.prompt-list button{border:1px solid var(--border);border-radius:14px;padding:9px 11px;background:var(--card-strong);color:var(--text-soft);text-align:left;transition:border-color .2s ease,color .2s ease,transform .2s ease}.prompt-list button:hover{transform:translateY(-1px);border-color:var(--primary);color:var(--primary-strong)}.chat-list{display:grid;gap:10px;min-height:0;margin-top:12px;padding-right:4px;overflow:auto}.chat-message{display:flex;animation:chat-pop .26s ease both}.chat-message.is-user{justify-content:flex-end}.message-content{max-width:94%;border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:var(--card-strong);color:var(--text-soft);font-size:13px}.is-user .message-content{border-color:transparent;background:var(--primary);color:#fff}.message-content h3,.message-content h4{margin-bottom:7px;color:var(--text);font-size:14px}.message-content h3+p,.message-content h4+p,.message-content p+p{margin-top:7px}.message-content code,.message-content strong{color:var(--primary-strong)}.message-content code{border-radius:6px;padding:1px 5px;background:var(--primary-soft)}.assistant-list-item{position:relative;padding-left:16px}.assistant-list-item:before{position:absolute;left:0;content:"•";color:var(--primary-strong);font-weight:900}.assistant-list-item.ordered:before{content:"-"}.assistant-form{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.assistant-form input{width:100%;min-width:0;border:1px solid var(--border);border-radius:999px;padding:9px 12px;outline:none;background:var(--card-strong);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.assistant-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.mobile-assistant,.mobile-layout{display:none}.assistant-fab{position:fixed;right:20px;bottom:22px;z-index:40;display:grid;width:56px;height:56px;place-items:center;border:0;border-radius:50%;background:var(--primary);color:#fff;box-shadow:var(--shadow);font-weight:900;animation:fab-breathe 2.4s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease}.assistant-fab:hover{transform:translateY(-2px) scale(1.04)}.mobile-chat{position:fixed;right:12px;bottom:12px;left:12px;z-index:50;display:grid;max-height:min(78vh,640px);padding:18px;animation:panel-up .28s cubic-bezier(.22,1,.36,1) both}.mobile-prompts{grid-template-columns:1fr}.mobile-chat-list{max-height:42vh}.icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-soft);font-size:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1180px){.desktop-layout{grid-template-columns:minmax(0,1fr) 330px}.content-grid{grid-template-columns:1fr}}@media(max-width:920px){.page-shell{width:min(100% - 24px,720px);padding-top:10px;padding-bottom:88px}.top-nav{top:10px;min-height:50px}.desktop-layout,.nav-actions,.nav-links{display:none}.mobile-layout{display:grid;gap:10px}.mobile-assistant{display:block}.profile-card{grid-template-columns:1fr;gap:12px;padding:18px;text-align:center}.profile-card .avatar{width:76px;height:76px;border-width:5px;font-size:22px}.profile-card .status-dot{right:6px;bottom:6px}.profile-title-row{display:grid;gap:8px;justify-items:center}.profile-title-row h1{font-size:30px}.profile-title{margin-top:3px}.profile-summary{margin-top:8px;font-size:14px;line-height:1.58}.contact-grid,.profile-meta,.tag-list{justify-content:center}.profile-meta{min-width:0}.profile-meta span,.tag{font-size:12px;padding:5px 9px}.tag-list{gap:7px;margin-top:10px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;align-items:stretch}.contact-link{justify-content:center;border:1px solid var(--border);border-radius:14px;padding:8px 9px;background:var(--card-strong);min-width:0}.contact-link span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-card{padding:16px}.item-heading{display:grid;gap:6px}.item-heading time{white-space:normal}}@media(max-width:560px){.page-shell{width:100%;padding:8px 10px 82px}.top-nav{border-radius:18px}.profile-title-row h1{font-size:29px}.mobile-chat,.profile-card,.section-card{border-radius:20px}.assistant-form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes soft-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #16b98147}50%{box-shadow:0 0 0 7px #16b98100}}@keyframes skill-grow{0%{transform:scaleX(.12)}to{transform:scaleX(1)}}@keyframes chat-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fab-breathe{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 18px 44px #2f7df657}}@keyframes panel-up{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--border:rgba(126,146,176,.14);--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--shadow:0 16px 44px rgba(28,57,97,.08);--shadow-soft:0 8px 24px rgba(28,57,97,.06)}@media(prefers-color-scheme:dark){:root{--border:rgba(139,161,196,.13);--shadow:0 16px 44px rgba(0,0,0,.3);--shadow-soft:0 8px 24px rgba(0,0,0,.2)}}html[data-theme=light]{--border:rgba(126,146,176,.14);--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--shadow:0 16px 44px rgba(28,57,97,.08);--shadow-soft:0 8px 24px rgba(28,57,97,.06)}html[data-theme=dark]{--border:rgba(139,161,196,.13);--shadow:0 16px 44px rgba(0,0,0,.3);--shadow-soft:0 8px 24px rgba(0,0,0,.2)}.card{border-color:var(--border)}.nav-links button{border:0;padding:0;background:transparent;color:inherit}.assistant-form button,.captcha-card,.copy-box button,.ghost-button,.icon-button,.modal-close,.nav-links a,.nav-links button,.primary-button{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-links .is-active{color:var(--text);font-weight:800}.captcha-card:hover,.copy-box button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 28%,var(--border));color:var(--primary-strong)}.assistant-panel{top:74px;grid-template-rows:auto auto auto minmax(0,1fr) auto;height:calc(100vh - 88px);max-height:calc(100vh - 88px);padding:18px}.assistant-header h2{font-size:17px}.assistant-form button,.assistant-form input,.assistant-intro,.assistant-status,.message-content,.prompt-list button{font-size:12px}.assistant-intro{margin-top:8px;line-height:1.55}.prompt-list{gap:7px;margin-top:12px}.prompt-list button{border-radius:10px;padding:8px 10px}.chat-list{gap:8px;margin-top:10px}.message-content{border-color:color-mix(in srgb,var(--border) 78%,transparent);border-radius:12px;padding:8px 10px;line-height:1.55}.message-content h3,.message-content h4{margin-bottom:5px;font-size:12.5px}.message-content h3+p,.message-content h4+p,.message-content p+p{margin-top:5px}.assistant-form{gap:7px;margin-top:10px;padding-top:10px}.assistant-form input{padding:8px 11px}.typing-dots{display:inline-flex;align-items:center;gap:4px;min-width:30px;min-height:16px}.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--primary-strong);opacity:.35;animation:typing-dot 1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#0a122061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .18s ease both}.modal-card{position:relative;width:min(100%,520px);max-height:min(86vh,760px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--card-strong);box-shadow:var(--shadow);animation:panel-up .24s cubic-bezier(.22,1,.36,1) both}.contact-modal{width:min(100%,620px)}.modal-card h2{margin-top:4px;font-size:24px;line-height:1.2;letter-spacing:-.03em}.modal-desc{margin-top:8px;color:var(--text-soft);font-size:14px}.modal-close{position:absolute;top:14px;right:14px;display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-soft);font-size:20px}.copy-box,.qr-card{margin-top:18px}.copy-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px;background:color-mix(in srgb,var(--bg-soft) 72%,transparent)}.copy-box span{min-width:0;overflow:hidden;color:var(--text-soft);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.captcha-card,.copy-box button{border:1px solid var(--border);border-radius:999px;padding:7px 12px;background:var(--card-strong);color:var(--text);font-size:13px;font-weight:800}.qr-card{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--card)}.qr-card img{width:112px;height:112px;border-radius:10px;background:#fff}.qr-card strong{display:block;color:var(--text);font-size:16px}.qr-card p{margin-top:4px;color:var(--text-soft);font-size:13px}.contact-form{display:grid;gap:14px;margin-top:18px}.contact-form label{display:grid;gap:7px;color:var(--text);font-size:13px;font-weight:800}.contact-form em{color:#ef4444;font-style:normal}.captcha-row,.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-row small{color:var(--text-muted);font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;outline:none;background:color-mix(in srgb,var(--card-strong) 92%,var(--bg-soft));color:var(--text);font-size:14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.contact-form textarea{resize:vertical;min-height:132px}.contact-form input:focus,.contact-form textarea:focus{border-color:color-mix(in srgb,var(--primary) 58%,var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.captcha-row{align-items:end}.captcha-card{min-height:42px}.captcha-card,.form-error{border-radius:var(--radius-sm)}.form-error{padding:8px 10px;background:#ef444414;color:#dc2626;font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.success-actions{margin-top:20px}@media(max-width:920px){.modal-card{width:min(100%,560px);padding:22px}.mobile-chat{grid-template-rows:auto auto minmax(0,1fr) auto;height:min(82vh,680px)}.mobile-chat,.mobile-chat-list{max-height:none}}@media(max-width:560px){.modal-backdrop{align-items:end;padding:10px}.modal-card{border-radius:16px;padding:20px}.captcha-row,.copy-box,.form-row{grid-template-columns:1fr}.qr-card{align-items:flex-start}.mobile-chat,.profile-card,.section-card{border-radius:16px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes typing-dot{0%,to{opacity:.28;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.mobile-top-nav{display:none}.right-rail{position:sticky;top:10px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:calc(100vh - 20px);min-height:0}.sidebar-nav{position:static;min-height:0;margin-bottom:0;padding:8px}.sidebar-nav .nav-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-nav .ghost-button,.sidebar-nav .primary-button{display:inline-flex;min-width:0;align-items:center;justify-content:center;padding:7px 8px;font-size:12px;white-space:nowrap}.right-rail .assistant-panel{position:static;top:auto;min-height:0;max-height:none}.assistant-window-actions{display:inline-flex;align-items:center;gap:6px}.icon-button.compact-action{width:auto;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}@media(max-width:920px){.mobile-top-nav{display:flex;top:8px;margin-bottom:10px;padding:7px;overflow:hidden}.mobile-top-nav .nav-actions{display:flex;width:100%;flex-wrap:nowrap;gap:6px;justify-content:space-between;overflow-x:auto;scrollbar-width:none}.mobile-top-nav .nav-actions::-webkit-scrollbar{display:none}.mobile-top-nav .ghost-button,.mobile-top-nav .primary-button{flex:0 0 auto;padding:7px 9px;font-size:12px;line-height:1.2;white-space:nowrap}.mobile-chat{overflow:hidden}.mobile-chat.is-compressed{left:auto;width:min(320px,calc(100vw - 24px));height:auto;max-height:none;grid-template-rows:auto;padding:12px 14px}.mobile-chat.is-compressed .assistant-header{gap:12px}}@media(max-width:380px){.mobile-top-nav .ghost-button,.mobile-top-nav .primary-button{padding-right:8px;padding-left:8px;font-size:11px}}.desktop-layout{gap:10px}.award-list,.main-stack,.project-list,.resume-column,.side-stack{gap:9px}.content-grid{gap:9px;margin-top:9px}.profile-card{padding:18px}.section-card{padding:15px}.project-card{padding:12px}.timeline{gap:10px}.right-rail{gap:8px}.sidebar-nav{padding:7px}.sidebar-nav .nav-actions{gap:7px}.sidebar-nav .nav-icon-button{min-width:68px;padding:0 8px}.nav-button-text{font-size:11px;font-weight:800;line-height:1;white-space:nowrap}.assistant-fab svg,.nav-icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-icon-button svg circle{fill:none}.assistant-panel,.right-rail .assistant-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.right-rail .assistant-panel{height:auto}.assistant-panel .chat-list,.mobile-chat .chat-list{flex:1 1 auto;min-height:0;align-content:start;overscroll-behavior:contain}.assistant-form{flex:0 0 auto;min-height:47px;grid-template-columns:minmax(0,1fr) auto}.assistant-form button,.assistant-form input{height:34px;min-height:34px;line-height:1}.assistant-form button{min-width:56px;padding-top:0;padding-bottom:0}.message-content.is-streaming{min-width:48px;min-height:32px}.mobile-fab-wrap{position:fixed;right:16px;bottom:18px;z-index:40;display:grid;justify-items:end;gap:9px;pointer-events:none}.mobile-fab-wrap>*{pointer-events:auto}.assistant-suggestion-bubble{position:relative;max-width:min(260px,calc(100vw - 104px));border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-radius:16px 16px 4px;padding:9px 12px;background:color-mix(in srgb,var(--card-strong) 94%,var(--primary-soft));color:var(--text);box-shadow:var(--shadow-soft);font-size:12px;line-height:1.45;text-align:left;animation:bubble-in .28s cubic-bezier(.22,1,.36,1) both}.assistant-suggestion-bubble:after{position:absolute;right:14px;bottom:-6px;width:10px;height:10px;content:"";background:inherit;border-right:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));transform:rotate(45deg)}.assistant-fab{position:static;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);background:radial-gradient(circle at 35% 28%,hsla(0,0%,100%,.34),transparent 30%),linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#8ec5ff))}.assistant-fab svg{width:29px;height:29px;stroke-width:1.65}.assistant-fab .spark{fill:#ffffffdb;stroke:#ffffffdb}.mobile-chat{grid-template-rows:none;display:flex;flex-direction:column;min-height:0}.mobile-chat .assistant-form{grid-template-columns:minmax(0,1fr) 58px}@media(max-width:920px){.mobile-layout{gap:8px}.mobile-chat{height:min(82vh,680px)}.mobile-chat.is-compressed{display:grid}.profile-card,.section-card{padding:15px}}@media(max-width:560px){.page-shell{padding-bottom:78px}.mobile-chat .assistant-form{grid-template-columns:minmax(0,1fr) 58px}}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.selection-toolbar{position:fixed;z-index:70;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--card-strong) 96%,var(--bg-soft));box-shadow:var(--shadow-soft);transform:translate(-50%,-100%);animation:bubble-in .16s ease both}.selection-toolbar button{border:0;border-radius:999px;padding:6px 10px;background:transparent;color:var(--text-soft);font-size:12px;font-weight:800;white-space:nowrap}.selection-toolbar button:hover{background:var(--primary-soft);color:var(--primary-strong)}.assistant-form,.mobile-chat .assistant-form{grid-template-columns:1fr}.assistant-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.mobile-chat .assistant-input-row{grid-template-columns:minmax(0,1fr) 58px}.assistant-quote-draft,.message-quote-inline{min-width:0;border-left:3px solid color-mix(in srgb,var(--text-muted) 54%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bg-soft) 78%,transparent);color:var(--text-muted);font-size:12px;line-height:1.35}.assistant-quote-draft{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px}.assistant-quote-draft span,.message-quote-inline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-quote-draft button{display:grid;width:22px;min-width:22px;height:22px;min-height:22px;place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:var(--text-muted);line-height:1}.assistant-quote-draft button:hover{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text);transform:none}.message-quote-inline{display:block;max-width:100%;margin-bottom:5px;padding:5px 7px}.message-content.plain p{margin:0}.typing-dots em{margin-left:3px;color:var(--text-muted);font-size:12px;font-style:normal;white-space:nowrap}@media(max-width:920px){.profile-card{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"avatar title" "summary summary" "tags tags" "contacts contacts";gap:12px 14px;align-items:center;padding:16px;text-align:left}.profile-card .avatar-wrap{grid-area:avatar;align-self:start;justify-self:start}.profile-card .avatar{width:68px;height:68px;border-width:4px;font-size:20px}.profile-card .status-dot{right:4px;bottom:4px}.profile-card .profile-main{display:contents}.profile-card .profile-title-row{grid-area:title;display:grid;gap:7px;min-width:0;justify-items:start;text-align:left}.profile-heading{min-width:0}.profile-card .profile-title-row h1{font-size:28px;line-height:1}.profile-card .profile-title{margin-top:3px;font-size:14px}.profile-card .profile-title-row .eyebrow{font-size:10px}.profile-card .profile-meta{width:100%;min-width:0;justify-content:flex-start;gap:6px}.profile-card .profile-meta span{padding:4px 8px;font-size:11px}.profile-card .profile-summary{grid-area:summary;max-width:none;margin-top:0;color:var(--text-soft);font-size:13px;line-height:1.65;text-align:left}.profile-card .tag-list{grid-area:tags;justify-content:flex-start;gap:6px;margin-top:0}.profile-card .tag{padding:4px 8px;font-size:11px}.profile-card .contact-grid{grid-area:contacts;grid-template-columns:1fr;gap:7px;margin-top:0}.profile-card .contact-link{justify-content:flex-start;border-radius:12px;padding:8px 10px;text-align:left}.profile-card .contact-link span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:420px){.profile-card{grid-template-columns:60px minmax(0,1fr);gap:10px 12px;padding:14px}.profile-card .avatar{width:58px;height:58px;border-width:3px;font-size:18px}.profile-card .profile-title-row h1{font-size:26px}.selection-toolbar{gap:2px}}.sidebar-nav .nav-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:6px}.sidebar-nav .nav-icon-button{flex:1 1 0;width:auto;min-width:0;height:34px;gap:4px;padding:0 7px;border-radius:12px}.sidebar-nav .nav-icon-button svg{width:15px;height:15px;flex:0 0 auto}.sidebar-nav .nav-button-text{display:inline-block;min-width:0;overflow:hidden;font-size:11px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.contact-form label>span:not(.label-row),.field-title{display:inline-flex;min-width:0;align-items:center;gap:4px}.contact-form em{flex:0 0 auto;line-height:1}.label-row .field-title{flex:1 1 auto}.label-row small{flex:0 0 auto}.mobile-assistant-overlay{position:fixed;inset:0;z-index:45;border:0;padding:0;background:#0a122061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .18s ease both}.assistant-clear-button svg,.compact-action svg,.icon-button.icon-only svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button.icon-only{width:34px;min-width:34px;padding:0;border-radius:50%}@media(max-width:920px){.mobile-top-nav .nav-actions{gap:6px;overflow:visible}.mobile-top-nav .nav-icon-button{display:inline-flex;flex:1 1 0;min-width:0;height:38px;align-items:center;justify-content:center;gap:3px;padding:0 6px;border-radius:12px}.mobile-top-nav .nav-icon-button svg{width:15px;height:15px;flex:0 0 auto}.mobile-top-nav .nav-button-text{display:inline-block;min-width:0;overflow:hidden;font-size:11px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.mobile-chat{right:12px;bottom:12px;left:12px;z-index:50;height:min(82vh,680px);max-height:calc(100vh - 24px)}.mobile-chat.is-compressed{right:10px;bottom:10px;left:10px;display:flex;width:auto;min-height:360px;height:min(52vh,460px);max-height:calc(100vh - 86px);flex-direction:column;padding:14px}.mobile-chat.is-compressed .assistant-header{flex:0 0 auto}.mobile-chat.is-compressed .assistant-window-actions{gap:5px}.mobile-chat.is-compressed .mobile-assistant-peek-copy{margin-top:8px;color:var(--text-soft);font-size:12px;line-height:1.5}.mobile-chat.is-compressed .mobile-prompts{gap:6px;margin-top:10px}.mobile-chat.is-compressed .mobile-prompts button{padding:7px 9px}.mobile-chat.is-compressed .mobile-chat-list{flex:1 1 auto;min-height:72px;margin-top:8px}.mobile-chat.is-compressed .assistant-form{margin-top:8px;padding-top:8px}.mobile-chat.is-compressed .assistant-input-row{grid-template-columns:minmax(0,1fr) 56px}}@media(max-width:560px){.label-row{align-items:center}.mobile-chat{right:10px;bottom:10px;left:10px}.mobile-chat.is-compressed{min-height:340px;height:min(52vh,430px)}}@media(max-width:380px){.mobile-top-nav .nav-icon-button{height:36px;padding:0 5px}.mobile-top-nav .nav-icon-button svg{width:14px;height:14px}.mobile-top-nav .nav-button-text{font-size:10px}.mobile-chat.is-compressed{min-height:320px;height:min(54vh,410px)}}
