:root{--background:#f7f6f3;--surface:#fff;--surface-2:#f0efe9;--surface-hover:#ebebе5;--text-primary:#18181a;--text-secondary:#66666b;--text-muted:#8d8d95;--accent:#6c4fe0;--accent-light:#6c4fe01a;--accent-border:#6c4fe038;--accent-cyan:#0d9488;--accent-amber:#b45309;--border:#e8e6df;--border-strong:#d4d1c8;--shadow-sm:0 1px 3px #18181a0f;--shadow-md:0 4px 16px #18181a12;--shadow-lift:0 8px 24px #18181a17;--sidebar-width:220px;--topbar-height:56px;--font-display:"Instrument Serif", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--ease-reveal:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.36, .64, 1)}[data-theme=dark]{--background:#0f1115;--surface:#1b1f27;--surface-2:#171a21;--surface-hover:#20252f;--text-primary:#f5f5f7;--text-secondary:#b6b8c0;--text-muted:#8b8e98;--accent:#8f7dff;--accent-light:#8f7dff1f;--accent-border:#8f7dff40;--accent-cyan:#3dd9c5;--accent-amber:#fbbf24;--border:#ffffff14;--border-strong:#ffffff24;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 16px #00000059;--shadow-lift:0 8px 24px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s var(--ease-reveal), color .3s var(--ease-reveal);font-size:16px}body{background:var(--background);min-height:100vh}.app-shell{background:var(--background);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--background);border-right:.5px solid var(--border);z-index:50;min-height:100vh;transition:background .3s var(--ease-reveal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:.5px solid var(--border);height:var(--topbar-height);align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.sidebar-logo-mark{background:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.sidebar-logo-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:16px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex}.nav-item{font-family:var(--font-body);color:var(--text-secondary);transition:all .15s var(--ease-reveal);border-left:2px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:var(--surface-2)}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-light);font-weight:500}.sidebar-bottom{border-top:.5px solid var(--border);flex-direction:column;gap:8px;padding:16px 12px;display:flex}.topbar{top:0;left:var(--sidebar-width);height:var(--topbar-height);background:var(--background);border-bottom:.5px solid var(--border);z-index:40;transition:background .3s var(--ease-reveal);justify-content:space-between;align-items:center;padding:0 40px;display:flex;position:fixed;right:0}.topbar-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:18px}.page-content{margin-left:var(--sidebar-width);margin-top:var(--topbar-height);min-height:calc(100vh - var(--topbar-height));background:var(--background);width:calc(100% - var(--sidebar-width));padding:48px 40px 80px}.theme-toggle{background:var(--surface-2);border:.5px solid var(--border);border-radius:20px;align-items:center;gap:2px;padding:3px;display:flex}.theme-btn{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-reveal);background:0 0;border:none;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:500}.theme-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.card{background:var(--surface);border:.5px solid var(--border);transition:all .2s var(--ease-reveal);border-radius:12px}.card-hover:hover{box-shadow:var(--shadow-lift);border-color:var(--border-strong);transform:translateY(-2px)}.skill-pill{font-family:var(--font-body);border:.5px solid var(--border);background:var(--surface);color:var(--text-secondary);white-space:nowrap;border-left-width:2px;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:400;transition:all .15s;display:inline-flex}.skill-pill-lg{padding:5px 12px;font-size:13px;font-weight:500}.insight-strip{background:var(--surface-2);border:.5px solid var(--border);border-radius:8px;align-items:center;gap:0;height:52px;padding:0 24px;display:flex}.insight-fragment{flex:1;align-items:center;gap:8px;padding:0 20px;display:flex}.insight-fragment:first-child{padding-left:0}.insight-fragment:last-child{padding-right:0}.insight-divider{background:var(--border-strong);flex-shrink:0;width:.5px;height:24px}.metrics-row{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.metric-block{border-right:.5px solid var(--border);padding:24px 0}.metric-block:first-child{padding-left:0}.metric-block:last-child{border-right:none}.metric-number{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:6px;font-size:40px;line-height:1}.metric-label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.timeline-item{justify-content:space-between;align-items:center;padding:10px 0;display:flex;position:relative}.timeline-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:-19px;transform:translateY(-50%)}.timeline-dot-pulse{animation:2s ease-in-out infinite timeline-pulse}@keyframes timeline-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-light)}50%{box-shadow:0 0 0 4px var(--accent-light)}}.match-card{background:var(--surface);border:.5px solid var(--border);transition:all .2s var(--ease-reveal);border-radius:12px;padding:24px;position:relative;overflow:hidden}.match-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.match-card:hover .match-card-arrow{opacity:1;transform:translate(0)}.match-card-arrow{opacity:0;transition:all .2s var(--ease-reveal);color:var(--text-muted);font-size:12px;transform:translate(-4px)}.profile-hero{border-bottom:.5px solid var(--border);margin-bottom:48px;padding:40px 0}.strength-pill{border:.5px solid var(--border);background:var(--surface);font-family:var(--font-body);color:var(--text-secondary);border-radius:20px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;display:inline-flex}.strength-dots{gap:2px;display:flex}.strength-dot{border-radius:50%;width:5px;height:5px}.ai-summary-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:19px;font-style:italic;line-height:1.6}.word-reveal{opacity:0;animation:word-up .5s var(--ease-reveal) forwards;display:inline-block;transform:translateY(8px)}@keyframes word-up{to{opacity:1;transform:translateY(0)}}.progress-track{background:var(--surface-2);border-radius:2px;height:3px;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;height:100%;transition:transform .8s var(--ease-reveal);border-radius:2px;transform:scaleX(0)}.progress-fill.animate{transform:scaleX(1)}.reveal{opacity:0;transition:opacity .7s var(--ease-reveal), transform .7s var(--ease-reveal);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@media (max-width:900px){.sidebar{display:none}.topbar{left:0}.page-content{margin-left:0;padding:32px 24px 60px}.metrics-row{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr!important}}@keyframes count-up-spin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.counter-value{animation:count-up-spin .5s var(--ease-reveal) both;display:inline-block}.badge{font-family:var(--font-body);letter-spacing:.01em;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.badge-cyan{color:var(--accent-cyan);background:#0d94881a;border:.5px solid #0d948840}.badge-amber{color:var(--accent-amber);background:#b453091a;border:.5px solid #b4530940}.badge-purple{background:var(--accent-light);color:var(--accent);border:.5px solid var(--accent-border)}.section-eyebrow{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:16px;font-size:11px;font-weight:500}.section-heading{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:20px;font-size:22px}.skill-group{margin-bottom:24px}.skill-group-label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:500}.skill-group-pills{flex-wrap:wrap;gap:6px;display:flex}.project-block{border-bottom:.5px solid var(--border);margin-bottom:24px;padding-bottom:24px}.project-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-block:hover .project-title{text-underline-offset:3px;text-decoration:underline}.project-title{font-family:var(--font-display);color:var(--text-primary);cursor:default;margin-bottom:6px;font-size:17px}.entry-row{justify-content:space-between;align-items:flex-start;padding:12px 0;display:flex}.entry-row+.entry-row{border-top:.5px solid var(--border)}.arc-container{justify-content:center;align-items:center;display:inline-flex;position:relative}.link-text{font-family:var(--font-body);color:var(--accent);font-size:13px;font-weight:400;text-decoration:none}.link-text:hover{text-underline-offset:3px;text-decoration:underline}.welcome-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.welcome-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;font-size:32px;line-height:1.15}.welcome-name em{font-style:italic}.welcome-date{font-family:var(--font-body);color:var(--text-muted);margin-top:4px;font-size:13px}
