@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wdth,wght@75..100,400..700&family=JetBrains+Mono:wght@400;500;600&display=swap";@property --frame-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}:root{--bg-color: #F5F7FA;--bg-secondary: #ECEFF4;--surface-elevated: #FFFFFF;--card-bg: #FFFFFF;--card-bg-translucent: rgba(255, 255, 255, .72);--card-border: #DDE3EC;--card-border-hover: #B7C2D3;--nav-bg: rgba(245, 247, 250, .72);--text-color: #0C1118;--text-secondary: #46505F;--text-muted: #6A7484;--accent-color: #2A5BE0;--accent-hover: #1F4BC4;--accent-subtle: rgba(42, 91, 224, .08);--accent-ring: rgba(42, 91, 224, .22);--signal-color: #0B9DBF;--signal-subtle: rgba(11, 157, 191, .12);--danger-color: #DC2626;--danger-subtle: rgba(220, 38, 38, .08);--success-color: #059669;--success-subtle: rgba(5, 150, 105, .08);--warning-color: #D97706;--warning-subtle: rgba(217, 119, 6, .09);--code-bg: #ECEFF4;--code-color: #0C1118;--shadow-subtle: 0 1px 2px rgba(12, 17, 24, .05);--shadow-raised: 0 1px 2px rgba(12, 17, 24, .04), 0 12px 32px -12px rgba(12, 17, 24, .16);--shadow-overlay: 0 24px 64px -16px rgba(12, 17, 24, .28);--highlight-inset: inset 0 1px 0 rgba(255, 255, 255, .9);--spot-border: rgba(42, 91, 224, .55);--spot-fill: rgba(42, 91, 224, .06);--atmos-primary: rgba(42, 91, 224, .16);--atmos-secondary: rgba(11, 157, 191, .1);--grid-line: rgba(12, 17, 24, .06);--surface-hover: rgba(12, 17, 24, .03);--surface-expanded: rgba(12, 17, 24, .02);--font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--container-max: 1120px}[data-theme=dark]{--bg-color: #070A0F;--bg-secondary: #0D121A;--surface-elevated: #121824;--card-bg: #0C1119;--card-bg-translucent: rgba(13, 18, 26, .6);--card-border: #1B2230;--card-border-hover: #2D3748;--nav-bg: rgba(7, 10, 15, .62);--text-color: #E9EDF4;--text-secondary: #98A2B3;--text-muted: #667085;--accent-color: #5B8CFF;--accent-hover: #779FFF;--accent-subtle: rgba(91, 140, 255, .12);--accent-ring: rgba(91, 140, 255, .3);--signal-color: #4FD3E6;--signal-subtle: rgba(79, 211, 230, .14);--danger-color: #F05252;--danger-subtle: rgba(240, 82, 82, .11);--success-color: #10B981;--success-subtle: rgba(16, 185, 129, .11);--warning-color: #F59E0B;--warning-subtle: rgba(245, 158, 11, .11);--code-bg: #121824;--code-color: #E5E9F0;--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .4);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px -16px rgba(0, 0, 0, .7);--shadow-overlay: 0 32px 80px -16px rgba(0, 0, 0, .8);--highlight-inset: inset 0 1px 0 rgba(255, 255, 255, .05);--spot-border: rgba(120, 165, 255, .6);--spot-fill: rgba(91, 140, 255, .07);--atmos-primary: rgba(91, 140, 255, .2);--atmos-secondary: rgba(79, 211, 230, .09);--grid-line: rgba(233, 237, 244, .045);--surface-hover: rgba(255, 255, 255, .03);--surface-expanded: rgba(255, 255, 255, .02)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;top:0!important;transition:background-color .3s ease,color .3s ease}::selection{background:var(--accent-ring)}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}img{max-width:100%;display:block}code{font-family:var(--font-mono);font-size:.86em;background:var(--code-bg);color:var(--code-color);padding:2px 6px;border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:4px}.google-translate-anchor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,#goog-gt-tt,.goog-tooltip,.goog-tooltip:hover,.goog-text-highlight,.skiptranslate{display:none!important;visibility:hidden!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--card-border-hover)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px;flex:1}.full-screen-center{display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-color);color:var(--text-color);padding:24px;text-align:center}.full-screen-center .error-text{font-size:.95rem;color:var(--text-secondary);max-width:44ch}.surface-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle),var(--highlight-inset)}.spotlight{position:relative;isolation:isolate}.spotlight:before,.spotlight:after{content:"";position:absolute;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s var(--ease-out)}.spotlight:before{top:-1px;right:-1px;bottom:-1px;left:-1px;padding:1px;background:radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%),var(--spot-border),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);z-index:1}.spotlight:after{top:0;right:0;bottom:0;left:0;background:radial-gradient(480px circle at var(--mx, 50%) var(--my, 0%),var(--spot-fill),transparent 65%);z-index:-1}.spotlight:hover:before,.spotlight:hover:after,.spotlight:focus-within:before{opacity:1}#skills,#experience,#projects,#certifications{scroll-margin-top:84px}.section-block{position:relative;padding:96px 0}.section-block:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--card-border) 18%,var(--card-border-hover) 50%,var(--card-border) 82%,transparent)}.section-header{max-width:64ch;margin-bottom:44px;text-align:left}.section-header--flush{margin-bottom:0}.section-header-split{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:40px}.section-title{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;color:var(--text-color)}.section-subtitle{margin-top:12px;color:var(--text-secondary);font-size:1rem;line-height:1.6;max-width:60ch}.subsection-label{font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--text-color);margin-bottom:16px}.btn-primary{position:relative;background:var(--accent-color);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:.9rem;line-height:1.2;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffff38,0 1px 2px #0003,0 0 0 0 var(--accent-ring);transition:background-color .2s ease,box-shadow .3s var(--ease-out),opacity .15s ease}.btn-primary:hover{background:var(--accent-hover);box-shadow:inset 0 1px #ffffff40,0 6px 20px -6px var(--accent-color),0 0 0 4px var(--accent-subtle)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary--full{width:100%}.btn-primary--danger{background:var(--danger-color)}.btn-primary--danger:hover{background:#b91c1c;box-shadow:0 6px 20px -6px var(--danger-color),0 0 0 4px var(--danger-subtle)}.btn-secondary{background:var(--card-bg-translucent);color:var(--text-color);padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:.9rem;line-height:1.2;border:1px solid var(--card-border);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--highlight-inset);transition:border-color .2s ease,background-color .2s ease,color .2s ease}.btn-secondary:hover{border-color:var(--card-border-hover);background:var(--surface-elevated)}.btn-secondary--danger{color:var(--danger-color)}.btn-secondary--danger:hover{border-color:var(--danger-color);background:var(--danger-subtle)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:10px 14px;border-radius:var(--radius-sm);font-weight:500;font-size:.9rem;line-height:1.2;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color .15s ease,background-color .15s ease}.btn-ghost:hover{color:var(--text-color);background:var(--surface-hover)}.btn-sm{padding:7px 13px;font-size:.83rem}.btn-icon{background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:var(--radius-sm);transition:color .15s ease,background-color .15s ease,border-color .15s ease}.btn-icon:hover{color:var(--text-color);background:var(--surface-hover);border-color:var(--card-border)}.btn-icon:active{transform:scale(.94)}.btn-icon--labeled{gap:5px;padding:6px 9px}.btn-icon--danger-hover:hover{color:var(--danger-color);background:var(--danger-subtle);border-color:transparent}.underline-tabs{display:flex;align-items:stretch;gap:2px;box-shadow:inset 0 -1px 0 var(--card-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.underline-tabs::-webkit-scrollbar{display:none}.underline-tab{position:relative;background:transparent;border:none;color:var(--text-secondary);font-size:.87rem;font-weight:500;padding:10px 14px 12px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;flex-shrink:0;transition:color .2s ease}.underline-tab-label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px}.underline-tab:before{content:"";position:absolute;top:4px;right:2px;bottom:6px;left:2px;border-radius:var(--radius-sm);background:var(--surface-hover);opacity:0;transition:opacity .2s ease}.underline-tab:hover{color:var(--text-color)}.underline-tab:hover:before{opacity:1}.underline-tab.is-active{color:var(--text-color)}.underline-tab-indicator{position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--accent-color);box-shadow:0 -2px 12px var(--accent-ring)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{display:inline-block;font-family:var(--font-mono);font-size:.74rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--card-border);padding:3px 9px;border-radius:6px;line-height:1.4;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .25s var(--ease-out)}.navbar{position:sticky;top:0;z-index:1000;background:transparent;border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}.navbar.is-scrolled{background:var(--nav-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom-color:var(--card-border);box-shadow:0 8px 24px -16px #00000059}.navbar-inner{max-width:var(--container-max);margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.navbar-logo{text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-width:0}.navbar-mark{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;font-size:.72rem;font-weight:700;letter-spacing:-.02em;color:var(--text-color);background:linear-gradient(var(--surface-elevated),var(--surface-elevated)) padding-box,linear-gradient(140deg,var(--accent-color),var(--signal-color) 60%,var(--card-border)) border-box;border:1px solid transparent;box-shadow:0 4px 14px -6px var(--accent-ring);transition:transform .4s var(--ease-out)}.navbar-logo:hover .navbar-mark{transform:rotate(-6deg) scale(1.04)}.navbar-brand-name{font-size:.98rem;font-weight:600;letter-spacing:-.015em;color:var(--text-color);white-space:nowrap}.navbar-brand-sep{color:var(--card-border-hover);font-weight:400}.navbar-brand-role{font-size:.86rem;color:var(--text-muted);white-space:nowrap}.navbar-desktop{display:flex;align-items:center;gap:16px}.navbar-links{display:flex;align-items:center;gap:2px}.navbar-link{position:relative;color:var(--text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;padding:7px 12px;border-radius:8px;transition:color .2s ease}.navbar-link-label{position:relative;z-index:1}.navbar-link-hover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:var(--surface-hover);border:1px solid var(--card-border)}.navbar-link-indicator{position:absolute;left:12px;right:12px;bottom:-15px;height:2px;border-radius:2px;background:var(--accent-color);box-shadow:0 0 14px var(--accent-color)}.navbar-link:hover,.navbar-link.is-active{color:var(--text-color)}.navbar-controls{display:flex;align-items:center;gap:4px;padding-left:14px;border-left:1px solid var(--card-border)}.lang-toggle-options{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-mono);font-size:.7rem;font-weight:600}.lang-toggle-option{padding:1px 5px;border-radius:4px;color:var(--text-muted);transition:color .2s ease,background-color .2s ease,box-shadow .2s ease}.lang-toggle-option.is-current{color:var(--text-color);background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--card-border-hover)}.lang-toggle:hover .lang-toggle-option:not(.is-current){color:var(--text-secondary)}.mobile-toggle{display:none}.mobile-drawer{overflow:hidden;border-top:1px solid var(--card-border);background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mobile-drawer-links{padding:12px 24px 16px;display:flex;flex-direction:column;gap:4px}.mobile-drawer-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;padding:10px 12px;border-radius:var(--radius-sm);border-left:2px solid transparent}.mobile-drawer-link.is-active,.mobile-drawer-link:hover{color:var(--text-color);background:var(--surface-hover)}.mobile-drawer-link.is-active{border-left-color:var(--accent-color)}.mobile-drawer-controls{display:flex;align-items:center;gap:12px;padding-top:10px;margin-top:6px;border-top:1px solid var(--card-border)}.hero-section{position:relative;isolation:isolate;padding:72px 0 80px}.hero-atmosphere{position:absolute;top:-120px;left:50%;width:100vw;height:calc(100% + 120px);transform:translate(-50%);z-index:-1;pointer-events:none;overflow:hidden}.hero-light{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 52% 46% at 50% -4%,var(--atmos-primary),transparent 72%),radial-gradient(ellipse 30% 34% at 82% 18%,var(--atmos-secondary),transparent 70%)}.hero-blueprint{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 12%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse 62% 58% at 50% 12%,#000 20%,transparent 78%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr);gap:64px;align-items:center}.hero-copy{min-width:0}.hero-status{display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 10px;margin-bottom:26px;font-size:.82rem;font-weight:500;color:var(--text-secondary);background:var(--card-bg-translucent);border:1px solid var(--card-border);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--highlight-inset)}.status-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--signal-color);flex-shrink:0}.status-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid var(--signal-color);opacity:0;animation:status-ping 2.6s var(--ease-out) infinite}@keyframes status-ping{0%{transform:scale(.6);opacity:.7}70%,to{transform:scale(1.6);opacity:0}}.hero-title{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:600;font-stretch:88%;line-height:1.02;letter-spacing:-.045em;margin-bottom:24px;max-width:14ch;background:linear-gradient(180deg,var(--text-color) 30%,var(--text-secondary) 120%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--text-color)}.hero-subtitle{font-size:1.08rem;line-height:1.68;color:var(--text-secondary);max-width:56ch;margin-bottom:34px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero-external-links{display:inline-flex;align-items:center;gap:18px;margin-left:10px}.hero-text-link{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.hero-text-link svg{transition:transform .3s var(--ease-out)}.hero-text-link:hover{color:var(--text-color)}.hero-text-link:hover svg{transform:translate(2px,-2px)}.hero-media{position:relative;display:flex;justify-content:flex-end;perspective:1100px}.hero-portrait{position:relative;width:100%;max-width:380px}.hero-portrait-halo{position:absolute;top:8%;right:-6%;bottom:-4%;left:-6%;border-radius:40px;background:radial-gradient(ellipse at 30% 20%,var(--atmos-primary),transparent 60%),radial-gradient(ellipse at 80% 90%,var(--atmos-secondary),transparent 60%);filter:blur(40px);z-index:-1}.hero-portrait-frame{position:relative;padding:7px;border-radius:var(--radius-xl);background:var(--card-bg-translucent);border:1px solid var(--card-border);box-shadow:var(--shadow-raised),var(--highlight-inset);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform-style:preserve-3d;will-change:transform}.hero-portrait-frame:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;padding:1px;border-radius:inherit;background:conic-gradient(from var(--frame-angle),transparent 0deg,transparent 250deg,var(--signal-color) 300deg,var(--accent-color) 335deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:frame-orbit 7s linear infinite;pointer-events:none}@keyframes frame-orbit{to{--frame-angle: 360deg}}.hero-avatar{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:14px}.hero-credentials-bar{margin-top:72px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--card-bg-translucent);border:1px solid var(--card-border);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-raised),var(--highlight-inset);overflow:hidden}.credential-cell{padding:22px 22px 24px;display:flex;flex-direction:column;gap:6px}.credential-cell+.credential-cell{box-shadow:inset 1px 0 0 var(--card-border)}.credential-value{font-size:1.12rem;font-weight:600;letter-spacing:-.02em;color:var(--text-color);transition:color .25s ease}.credential-cell:hover .credential-value{color:var(--accent-color)}.credential-label{font-size:.83rem;line-height:1.45;color:var(--text-muted)}.skills-board{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-raised),var(--highlight-inset);overflow:hidden}.skills-flow{position:relative;padding:26px 28px 18px;border-bottom:1px solid var(--card-border);background:radial-gradient(ellipse 60% 120% at 50% 0%,var(--accent-subtle),transparent 70%),var(--bg-secondary)}.skills-flow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,var(--grid-line) 1px,transparent 0);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);pointer-events:none}.flow-svg{position:relative;display:block;width:100%;height:auto;overflow:visible}.flow-base{fill:none;stroke:var(--card-border-hover);stroke-width:1.2}.flow-pulse{fill:none;stroke:var(--accent-color);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 14;opacity:.55;animation:flow-dash 1.6s linear infinite;transition:stroke .3s ease,opacity .3s ease}.flow-pulse.is-hot{stroke:var(--signal-color);opacity:1;stroke-width:2;animation-duration:.8s}.flow-pulse--loop{stroke-dasharray:2 10;opacity:.35;animation-direction:reverse;animation-duration:3.2s}@keyframes flow-dash{to{stroke-dashoffset:-34}}.flow-endpoint rect{fill:var(--card-bg);stroke:var(--card-border-hover);stroke-width:1}.flow-endpoint text,.flow-loop-label{font-family:var(--font-mono);font-size:11px;fill:var(--text-muted)}.flow-node{cursor:default}.flow-node-ring{fill:var(--card-bg);stroke:var(--card-border-hover);stroke-width:1.2;transition:stroke .3s ease,fill .3s ease}.flow-node-halo{fill:var(--signal-color);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.6);transition:opacity .4s var(--ease-out),transform .5s var(--ease-out)}.flow-node-core{fill:var(--accent-color);transition:fill .3s ease}.flow-node-label{font-family:var(--font-sans);font-size:13px;font-weight:600;fill:var(--text-secondary);transition:fill .3s ease}.flow-node.is-active .flow-node-ring{stroke:var(--signal-color)}.flow-node.is-active .flow-node-halo{opacity:.16;transform:scale(1)}.flow-node.is-active .flow-node-core{fill:var(--signal-color)}.flow-node.is-active .flow-node-label{fill:var(--text-color)}.skills-domains-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.domain-cell{padding:28px 28px 30px;display:flex;flex-direction:column;gap:12px}.domain-cell+.domain-cell{box-shadow:inset 1px 0 0 var(--card-border)}.domain-stage{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;color:var(--text-muted);transition:color .3s ease}.domain-stage-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--card-border-hover);transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}.domain-cell.is-active .domain-stage{color:var(--signal-color)}.domain-cell.is-active .domain-stage-dot{border-color:var(--signal-color);background:var(--signal-color);box-shadow:0 0 0 4px var(--signal-subtle)}.domain-title{font-size:1.12rem;font-weight:600;letter-spacing:-.02em;color:var(--text-color)}.domain-desc{font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.domain-stack{margin-top:auto;padding-top:6px}.domain-cell.is-active .tech-tag{border-color:var(--card-border-hover);color:var(--text-color)}.skills-detail-split{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start}.deliverables-list{list-style:none;border-top:1px solid var(--card-border)}.deliverable-row{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid var(--card-border);font-size:.94rem;line-height:1.55;color:var(--text-secondary);transition:color .25s ease,padding-left .35s var(--ease-out)}.deliverable-row:before{content:"";position:absolute;left:2px;top:23px;width:8px;height:1.5px;background:var(--card-border-hover);transition:width .35s var(--ease-out),background-color .25s ease}.deliverable-row:hover{color:var(--text-color);padding-left:28px}.deliverable-row:hover:before{width:16px;background:var(--accent-color)}.skills-stack-panel .tag-list{gap:8px}.skills-stack-panel .tech-tag{font-size:.78rem;padding:5px 11px;cursor:default}.skills-stack-panel .tech-tag:hover{color:var(--text-color);border-color:var(--accent-color);background:var(--accent-subtle)}.exp-timeline{--period-w: 196px;position:relative}.exp-rail{position:absolute;top:8px;bottom:8px;left:var(--period-w);width:1px;background:var(--card-border)}.exp-rail-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:top;background:linear-gradient(180deg,var(--accent-color),var(--signal-color));box-shadow:0 0 10px var(--accent-ring)}.exp-row{position:relative;display:grid;grid-template-columns:var(--period-w) minmax(0,1fr)}.exp-period{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:24px 28px 0 0;text-align:right;transition:color .3s ease}.exp-node{position:absolute;top:28px;left:var(--period-w);width:11px;height:11px;border-radius:50%;transform:translate(-50%);background:var(--bg-color);border:1.5px solid var(--card-border-hover);transition:border-color .3s ease,background-color .3s ease,box-shadow .4s var(--ease-out),transform .4s var(--ease-out);z-index:1}.exp-row.is-active .exp-node{border-color:var(--signal-color);background:var(--signal-color);box-shadow:0 0 0 5px var(--signal-subtle),0 0 18px var(--signal-color);transform:translate(-50%) scale(1.1)}.exp-row.is-active .exp-period{color:var(--text-color)}.exp-content{position:relative;min-width:0;margin:6px 0 6px 28px;padding:18px 22px;border-radius:var(--radius-md)}.exp-highlight{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-raised),var(--highlight-inset);z-index:0}.exp-header,.exp-desc{position:relative;z-index:1}.exp-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:6px}.exp-role{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text-color)}.exp-company{font-size:.92rem;font-weight:500;color:var(--text-muted);transition:color .3s ease}.exp-row.is-active .exp-company{color:var(--accent-color)}.exp-desc{font-size:.93rem;line-height:1.62;color:var(--text-secondary);max-width:66ch;white-space:pre-line}.exp-more{overflow:hidden}.exp-toggle-row{margin-top:28px;padding-left:calc(var(--period-w, 196px) + 28px)}.exp-toggle-row svg{transition:transform .35s var(--ease-out)}.exp-toggle-row [aria-expanded=true] svg{transform:rotate(180deg)}.projects-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{padding:28px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .25s ease,box-shadow .35s var(--ease-out)}.project-card:hover{border-color:var(--card-border-hover);box-shadow:var(--shadow-raised),var(--highlight-inset)}.project-body{display:flex;flex-direction:column}.project-category{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:12px}.project-category:before{content:"";width:6px;height:6px;border-radius:2px;background:var(--accent-color);box-shadow:0 0 8px var(--accent-ring)}.project-title{font-size:1.22rem;font-weight:600;letter-spacing:-.02em;color:var(--text-color);margin-bottom:10px}.project-desc{font-size:.93rem;line-height:1.62;color:var(--text-secondary);margin-bottom:20px;white-space:pre-line}.project-tags{margin-top:auto;margin-bottom:22px}.project-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--card-border)}.project-link{display:inline-flex;align-items:center;gap:5px;font-size:.86rem;font-weight:500;color:var(--text-color);text-decoration:none;transition:color .2s ease}.project-link svg,.cert-link svg{transition:transform .3s var(--ease-out)}.project-link:hover,.cert-link:hover{color:var(--accent-color)}.project-link:hover svg,.cert-link:hover svg{transform:translate(2px,-2px)}.project-detail-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);font-size:.84rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:5px 10px;border-radius:var(--radius-sm);transition:color .2s ease,background-color .2s ease,border-color .2s ease}.project-detail-btn:hover{color:var(--text-color);background:var(--surface-hover);border-color:var(--card-border)}.projects-empty{grid-column:1 / -1;padding:40px;text-align:center;color:var(--text-muted);border:1px dashed var(--card-border);border-radius:var(--radius-lg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-card{position:relative;width:100%;max-width:580px;padding:30px;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-overlay),var(--highlight-inset)}.modal-card:before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),var(--signal-color),transparent);opacity:.7}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--card-border)}.modal-title{font-size:1.4rem;font-weight:600;letter-spacing:-.02em;color:var(--text-color)}.modal-section{margin-bottom:22px}.modal-section-label{font-size:.82rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}.modal-text{font-size:.93rem;line-height:1.68;color:var(--text-secondary);white-space:pre-line}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--card-border)}.cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cert-card{padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .25s ease,box-shadow .35s var(--ease-out)}.cert-card:hover{border-color:var(--card-border-hover);box-shadow:var(--shadow-raised),var(--highlight-inset)}.cert-meta-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.cert-issuer{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:500;color:var(--text-muted)}.cert-seal{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--accent-color);background:var(--accent-subtle);border:1px solid var(--card-border);transition:color .3s ease,background-color .3s ease}.cert-card:hover .cert-seal{color:var(--signal-color);background:var(--signal-subtle)}.cert-year{font-family:var(--font-mono);font-size:.76rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.cert-name{font-size:1.08rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;color:var(--text-color);margin-bottom:8px}.cert-desc{font-size:.91rem;line-height:1.6;color:var(--text-secondary);white-space:pre-line}.cert-link-row{margin-top:18px;padding-top:14px;border-top:1px solid var(--card-border)}.cert-link{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:500;color:var(--text-color);text-decoration:none;transition:color .2s ease}.site-footer{position:relative;margin-top:72px;padding:44px 24px;background:var(--bg-secondary);overflow:hidden}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--card-border-hover),transparent)}.site-footer:after{content:"";position:absolute;bottom:-60%;left:50%;width:70%;height:100%;transform:translate(-50%);background:radial-gradient(ellipse at center,var(--atmos-primary),transparent 70%);opacity:.5;pointer-events:none}.footer-inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:column;gap:20px}.footer-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.footer-brand-name{font-size:1rem;font-weight:600;color:var(--text-color)}.footer-brand-role{font-size:.86rem;color:var(--text-muted)}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:.87rem}.footer-links a{color:var(--text-secondary);text-decoration:none;background-image:linear-gradient(var(--accent-color),var(--accent-color));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:color .2s ease,background-size .35s var(--ease-out)}.footer-links a:hover{color:var(--text-color);background-size:100% 1px}.footer-meta{padding-top:18px;border-top:1px solid var(--card-border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--text-muted)}.back-to-top{position:fixed;bottom:84px;right:24px;width:40px;height:40px;border-radius:var(--radius-md);background:var(--card-bg-translucent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-raised),var(--highlight-inset);z-index:990;transition:border-color .2s ease,color .2s ease}.back-to-top:hover{border-color:var(--card-border-hover);color:var(--text-color)}.chat-fab{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-color);border:1px solid var(--card-border-hover);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-overlay);z-index:1000;transition:border-color .15s ease,background-color .15s ease}.chat-fab:hover{border-color:var(--accent-color);background:var(--card-bg)}.chat-panel{position:fixed;width:calc(100% - 32px);max-width:390px;height:68vh;height:68dvh;max-height:540px;right:24px;bottom:82px;display:flex;flex-direction:column;z-index:1000;overflow:hidden;box-shadow:var(--shadow-overlay)}.chat-panel-header{padding:13px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-panel-title{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-color)}.chat-status-indicator{width:7px;height:7px;border-radius:50%;background:var(--success-color)}.chat-panel-actions{display:flex;align-items:center;gap:2px}.chat-body{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:0}.chat-empty{display:flex;flex-direction:column;gap:14px}.chat-empty-text{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.chat-suggestions{display:flex;flex-direction:column;gap:6px}.chat-suggestion-btn{text-align:left;background:var(--bg-secondary);border:1px solid var(--card-border);color:var(--text-secondary);font-size:.82rem;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease,color .15s ease}.chat-suggestion-btn:hover{border-color:var(--card-border-hover);color:var(--text-color)}.chat-row{display:flex;justify-content:flex-start}.chat-row.is-user{justify-content:flex-end}.chat-bubble{background:var(--bg-secondary);color:var(--text-color);padding:10px 14px;border-radius:var(--radius-md);max-width:88%;font-size:.88rem;line-height:1.5;border:1px solid var(--card-border)}.chat-bubble.is-user{background:var(--accent-color);color:#fff;border-color:transparent}.chat-typing{padding:4px 2px}.chat-typing-text{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.chat-markdown{font-size:.88rem;line-height:1.55}.chat-markdown p{margin-bottom:8px}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown li{margin-left:16px;margin-bottom:4px}.chat-markdown strong{font-weight:600;color:var(--text-color)}.chat-bubble.is-user .chat-markdown strong{color:#fff}.chat-markdown a{color:var(--accent-color);text-decoration:underline}.chat-bubble.is-user .chat-markdown a{color:#fff}.chat-markdown .chat-line-break{height:6px}.chat-code-block{position:relative;margin:8px 0;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--code-bg);border:1px solid var(--card-border)}.chat-code-copy{position:absolute;top:6px;right:6px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;color:var(--text-secondary);padding:3px 7px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.7rem}.chat-code-pre{margin:0;padding:12px;overflow-x:auto}.chat-code-pre code{font-family:var(--font-mono);font-size:.8rem;background:transparent;padding:0}.chat-footer{padding:10px 12px;border-top:1px solid var(--card-border);display:flex;gap:8px;align-items:center;background:var(--card-bg);flex-shrink:0}.chat-textarea{flex:1;padding:8px 11px;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-color);color:var(--text-color);outline:none;resize:none;min-height:36px;max-height:80px;font-size:.88rem;line-height:1.4}.chat-textarea:focus{border-color:var(--accent-color)}.chat-send-btn{padding:9px 12px;flex-shrink:0}.login-wrap{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px;background:radial-gradient(ellipse 60% 50% at 50% 0%,var(--atmos-primary),transparent 70%),var(--bg-color);overflow:hidden}.login-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 50% 50% at 50% 40%,#000 10%,transparent 75%)}.login-card{width:100%;max-width:400px;padding:32px;text-align:left;background:var(--card-bg-translucent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-overlay),var(--highlight-inset)}.login-header{margin-bottom:24px}.login-title{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}.login-desc{font-size:.86rem;line-height:1.5;color:var(--text-secondary)}.login-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.login-error{color:var(--danger-color);margin-top:12px;font-size:.84rem}.login-footer-link{margin-top:20px;padding-top:16px;border-top:1px solid var(--card-border)}.login-footer-link a{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.84rem;text-decoration:none}.login-footer-link a:hover{color:var(--text-color)}.turnstile-wrap{margin-bottom:16px}.turnstile-loading{text-align:center;margin-bottom:8px;font-size:.78rem;color:var(--text-muted)}.turnstile-slot{display:flex;justify-content:center;align-items:center;min-height:65px}.turnstile-error{color:var(--danger-color);font-size:.78rem;margin-top:6px;line-height:1.4}.admin-page{min-height:100vh;background:radial-gradient(ellipse 70% 320px at 50% -80px,var(--atmos-primary),transparent 75%),var(--bg-color);color:var(--text-color);padding:28px 24px 64px}.admin-container{max-width:var(--container-max);margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}.admin-breadcrumb{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.76rem;color:var(--text-muted);margin-bottom:4px}.admin-breadcrumb a{color:var(--text-secondary);text-decoration:none}.admin-breadcrumb a:hover{color:var(--text-color)}.admin-header-title{font-size:1.55rem;font-weight:600;letter-spacing:-.02em}.admin-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-commandbar{position:sticky;top:12px;z-index:60;margin-bottom:24px;padding:6px;display:flex;flex-direction:column;gap:6px;background:var(--nav-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:var(--shadow-raised),var(--highlight-inset)}.admin-sections{display:flex;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.admin-sections::-webkit-scrollbar{display:none}.admin-section-tab{position:relative;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .2s ease,background-color .2s ease}.admin-section-tab:hover{color:var(--text-color);background:var(--surface-hover)}.admin-section-tab.is-active{color:var(--text-color)}.admin-section-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--surface-elevated);border:1px solid var(--card-border-hover);box-shadow:var(--shadow-subtle),var(--highlight-inset)}.admin-section-icon,.admin-section-label,.admin-section-count{position:relative;z-index:1}.admin-section-icon{color:var(--text-muted);transition:color .2s ease}.admin-section-tab.is-active .admin-section-icon{color:var(--accent-color)}.admin-section-count{font-family:var(--font-mono);font-size:.7rem;font-weight:600;min-width:22px;padding:1px 6px;text-align:center;border-radius:999px;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--card-border);font-variant-numeric:tabular-nums}.admin-section-tab.is-active .admin-section-count{color:var(--accent-color);background:var(--accent-subtle);border-color:transparent}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:6px 6px 2px;border-top:1px solid var(--card-border)}.admin-toolbar-context{display:flex;align-items:center;min-height:42px;min-width:0}.admin-toolbar-hint{font-size:.8rem;color:var(--text-muted);padding-left:6px}.admin-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-raised),var(--highlight-inset);margin-bottom:28px;overflow:hidden}.kpi-cell{padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.kpi-cell+.kpi-cell{box-shadow:inset 1px 0 0 var(--card-border)}.kpi-cell:hover .kpi-number{color:var(--accent-color)}.kpi-label{font-size:.78rem;font-weight:500;color:var(--text-muted)}.kpi-metric-row{display:flex;align-items:baseline;gap:6px}.kpi-number{font-family:var(--font-mono);font-size:1.65rem;font-weight:600;line-height:1.1;color:var(--text-color);font-variant-numeric:tabular-nums}.kpi-unit{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.kpi-sub{font-size:.76rem;color:var(--text-muted)}.kpi-sub--ok{color:var(--success-color)}.kpi-sub--warn{color:var(--danger-color)}.provider-select{width:100%;padding:7px 10px;border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color);border:1px solid var(--card-border);font-size:.84rem;font-weight:500;outline:none;cursor:pointer}.provider-select:focus{border-color:var(--accent-color)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:24px;align-items:stretch}.dashboard-panel{display:flex;flex-direction:column;min-width:0}.dashboard-panel .data-panel{flex:1}.panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;min-height:36px;margin-bottom:12px}.panel-title{display:inline-flex;align-items:center;gap:8px;font-size:.98rem;font-weight:600;color:var(--text-color)}.panel-count{font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:999px;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--card-border)}.panel-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-field{position:relative}.search-field-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input{width:220px;max-width:100%;padding:6px 10px 6px 30px;border-radius:var(--radius-sm);font-size:.82rem;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-color);outline:none}.search-input:focus{border-color:var(--accent-color)}.sla-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.data-panel{height:540px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.table-scroll{overflow-x:auto}.logs-table{width:100%;min-width:420px;border-collapse:collapse}.logs-table thead{background:var(--bg-secondary);color:var(--text-muted);position:sticky;top:0}.logs-table th{padding:10px 16px;text-align:left;font-size:.76rem;font-weight:600;border-bottom:1px solid var(--card-border)}.logs-table-col-sla{width:108px}.logs-table td{padding:12px 16px;font-size:.86rem;border-bottom:1px solid var(--card-border);vertical-align:top}.logs-table tbody tr:last-child td{border-bottom:none}.logs-empty-cell{text-align:center;color:var(--text-muted);padding:32px 16px!important}.log-question{font-weight:500;color:var(--text-color);margin-bottom:3px}.log-meta{color:var(--text-muted);font-size:.74rem;font-family:var(--font-mono)}.sla-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-weight:500;font-size:.75rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.sla-badge--good{color:var(--success-color);background:var(--success-subtle)}.sla-badge--bad{color:var(--danger-color);background:var(--danger-subtle)}.telemetry-panel{padding:4px 16px;display:flex;flex-direction:column}.telemetry-item{padding:11px 0;border-bottom:1px solid var(--card-border);font-size:.82rem}.telemetry-item:last-child{border-bottom:none}.telemetry-row-top{display:flex;align-items:center;gap:8px}.telemetry-event{font-family:var(--font-mono);font-size:.73rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--card-border);padding:1px 6px;border-radius:4px}.telemetry-path{font-family:var(--font-mono);font-size:.8rem;color:var(--text-color)}.telemetry-meta{display:block;font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem;margin-top:4px}.telemetry-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.84rem;padding:32px 0}.purge-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.purge-modal{max-width:440px;width:100%;padding:26px;box-shadow:var(--shadow-overlay)}.purge-modal-head{display:flex;align-items:center;gap:10px;color:var(--danger-color);margin-bottom:12px}.purge-modal-head h3{font-size:1.05rem;font-weight:600;color:var(--text-color)}.purge-modal-text{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin-bottom:18px}.purge-result{padding:10px 12px;border-radius:var(--radius-sm);background:var(--success-subtle);color:var(--success-color);font-size:.82rem;margin-bottom:16px}.purge-result--err{background:var(--danger-subtle);color:var(--danger-color)}.purge-actions{display:flex;justify-content:flex-end;gap:8px}.editor-panel{padding:28px;display:flex;flex-direction:column;gap:24px}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px 20px;padding-bottom:20px;border-bottom:1px solid var(--card-border)}.editor-header-text{min-width:0;max-width:64ch}.editor-header-title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-color)}.editor-header-desc{margin-top:4px;font-size:.87rem;line-height:1.5;color:var(--text-secondary)}.editor-header-file{font-size:.76rem}.editor-lang-chip{flex-shrink:0;display:inline-flex;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;border-radius:999px;color:var(--accent-color);background:var(--accent-subtle);border:1px solid var(--accent-ring)}.editor-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.editor-list-count{font-size:.84rem;font-weight:500;color:var(--text-muted)}.btn-add{color:var(--accent-color);border-color:var(--accent-ring);background:var(--accent-subtle)}.btn-add:hover{color:var(--accent-hover);border-color:var(--accent-color);background:var(--accent-subtle)}.segmented-control{display:inline-flex;padding:3px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--radius-md);gap:2px}.segmented-option{position:relative;padding:6px 14px;font-size:.83rem;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;white-space:nowrap;transition:color .2s ease}.segmented-option:hover,.segmented-option.is-active{color:var(--text-color)}.segmented-label{position:relative;z-index:1}.segmented-thumb{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:7px;background:var(--surface-elevated);border:1px solid var(--card-border);box-shadow:var(--shadow-subtle),var(--highlight-inset)}.sync-badge{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm)}.sync-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sync-badge--synced{color:var(--text-muted)}.sync-badge--synced .sync-dot{background:var(--success-color)}.sync-badge--pending{color:var(--warning-color);background:var(--warning-subtle)}.sync-badge--pending .sync-dot{background:var(--warning-color);animation:sync-pulse 1.8s ease-in-out infinite}@keyframes sync-pulse{0%,to{box-shadow:0 0 0 0 var(--warning-subtle)}50%{box-shadow:0 0 0 4px var(--warning-subtle)}}.btn-primary.is-dirty{box-shadow:inset 0 1px #ffffff38,0 0 0 3px var(--accent-subtle),0 8px 24px -8px var(--accent-color)}.btn-primary.is-saved,.btn-primary.is-saved:hover{background:var(--success-color);box-shadow:inset 0 1px #ffffff38,0 0 0 3px var(--success-subtle)}.btn-icon-swap{display:inline-flex}.editor-section{display:flex;flex-direction:column;gap:14px}.editor-section-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.editor-section-title{font-size:.95rem;font-weight:600;color:var(--text-color)}.editor-static-card{padding:18px 20px;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--bg-secondary);display:flex;flex-direction:column;gap:12px}.editor-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.editor-item-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.editor-rag-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.editor-rag-col{display:flex;flex-direction:column;gap:16px}.field-group{display:flex;flex-direction:column;gap:5px;min-width:0}.field-group--full{grid-column:1 / -1}.field-label{font-size:.76rem;font-weight:500;color:var(--text-muted)}.form-input{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-color);color:var(--text-color);font-size:.88rem;outline:none;transition:border-color .2s ease,box-shadow .25s var(--ease-out),background-color .2s ease}.form-input:hover{border-color:var(--card-border-hover)}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-subtle)}.field-group:focus-within .field-label{color:var(--accent-color)}.field-label{transition:color .2s ease}.field-textarea{min-height:82px;resize:vertical;line-height:1.55}.field-textarea--tall{min-height:220px}.accordion-list{display:flex;flex-direction:column;gap:8px}.accordion-item{position:relative;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden;transition:border-color .2s ease,box-shadow .3s var(--ease-out)}.accordion-item:hover{border-color:var(--card-border-hover)}.accordion-item.is-open{border-color:var(--card-border-hover);box-shadow:var(--shadow-raised)}.accordion-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--accent-color),var(--signal-color));transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease-out);z-index:1}.accordion-item.is-open{background:var(--surface-expanded)}.accordion-item.is-open:before{transform:scaleY(1)}.accordion-row{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 18px;transition:background-color .15s ease}.accordion-row:hover{background:var(--surface-hover)}.accordion-toggle{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;background:transparent;border:none;cursor:pointer;text-align:left;padding:2px 0}.accordion-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.accordion-title{font-weight:600;font-size:.94rem;letter-spacing:-.01em;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-title--placeholder{color:var(--text-muted);font-style:italic}.accordion-subtitle{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:46%}.accordion-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:999px;color:var(--accent-color);background:var(--accent-subtle);border:1px solid var(--accent-ring);white-space:nowrap}.accordion-tag--more{color:var(--text-muted);background:var(--card-bg);border-color:var(--card-border)}.badge-neutral{flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--card-border);padding:2px 8px;border-radius:4px;white-space:nowrap}.accordion-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.accordion-chevron{color:var(--text-muted);transition:transform .2s ease}.accordion-item.is-open .accordion-chevron{transform:rotate(180deg);color:var(--text-color)}.accordion-body-wrap{overflow:hidden}.accordion-body{padding:16px 16px 20px;border-top:1px solid var(--card-border);background:var(--card-bg)}.editor-tag-list{display:flex;flex-direction:column;gap:8px}.editor-tag-row{display:flex;align-items:center;gap:8px;padding:2px 6px 2px 12px;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--bg-secondary);transition:border-color .2s ease,box-shadow .25s var(--ease-out)}.editor-tag-row:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-subtle)}.editor-tag-row .form-input{flex:1;border:none;background:transparent;padding-left:0}.editor-tag-row .form-input:focus{box-shadow:none}.editor-chip-list{display:flex;flex-wrap:wrap;gap:8px}.editor-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;border-radius:6px;border:1px solid var(--card-border);background:var(--bg-secondary);transition:border-color .2s ease,background-color .2s ease}.editor-chip:hover,.editor-chip:focus-within{border-color:var(--card-border-hover);background:var(--surface-elevated)}.editor-chip-input{background:transparent;border:none;outline:none;color:var(--text-color);font-family:var(--font-mono);font-size:.78rem;min-width:28px}.editor-chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.editor-chip-remove:hover{background:var(--danger-subtle);color:var(--danger-color)}.editor-chip-add-input{background:transparent;border:1px dashed var(--card-border-hover);border-radius:5px;padding:4px 12px;font-size:.8rem;color:var(--text-color);outline:none;min-width:160px}.editor-chip-add-input::placeholder{color:var(--text-muted)}.editor-chip-add-input:focus{border-color:var(--accent-color);border-style:solid}.prompt-meta{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--text-muted)}.prompt-meta-count{font-family:var(--font-mono);flex-shrink:0}.editor-empty-hint{color:var(--text-muted);font-size:.84rem;padding:20px;text-align:center;border:1px dashed var(--card-border);border-radius:var(--radius-md)}.editor-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:10px;padding:11px 14px;max-width:360px;font-size:.86rem;font-weight:500;z-index:1200;box-shadow:var(--shadow-overlay)}.editor-toast-message{flex:1;line-height:1.4}.editor-toast--success{border-left:3px solid var(--success-color)}.editor-toast--error{border-left:3px solid var(--danger-color)}.icon-spin{animation:icon-spin .8s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{border-radius:4px;background:linear-gradient(90deg,var(--card-border) 25%,var(--bg-secondary) 50%,var(--card-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1024px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-cell:nth-child(3){box-shadow:none}.kpi-cell:nth-child(n+3){border-top:1px solid var(--card-border)}.dashboard-columns,.skills-domains-grid{grid-template-columns:1fr}.domain-cell+.domain-cell{box-shadow:inset 0 1px 0 var(--card-border)}}@media (max-width: 860px){.navbar-desktop{display:none}.mobile-toggle{display:block}.navbar-brand-sep,.navbar-brand-role{display:none}.hero-section{padding:44px 0 56px}.hero-grid{grid-template-columns:1fr;gap:44px}.hero-media{justify-content:flex-start}.hero-portrait{max-width:320px}.hero-credentials-bar{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.credential-cell:nth-child(3){box-shadow:none}.credential-cell:nth-child(n+3){border-top:1px solid var(--card-border)}.skills-detail-split,.projects-grid,.cert-grid,.editor-item-grid,.editor-item-grid--2,.editor-grid-2,.editor-rag-columns{grid-template-columns:1fr}.skills-detail-split{gap:36px}.exp-timeline{--period-w: 6px}.exp-row{grid-template-columns:1fr}.exp-period{text-align:left;padding:18px 0 0 28px}.exp-node{top:23px}.exp-content{margin:4px 0 4px 12px;padding:12px 16px 16px}.exp-toggle-row{padding-left:28px}.section-block{padding:64px 0}}@media (max-width: 700px){.skills-flow{display:none}}@media (max-width: 600px){.container{padding:0 18px}.navbar-inner{padding:12px 18px}.hero-credentials-bar{grid-template-columns:1fr}.credential-cell,.credential-cell+.credential-cell{padding:16px 18px;box-shadow:none}.credential-cell+.credential-cell{border-top:1px solid var(--card-border)}.hero-external-links{margin-left:0;width:100%;padding-top:4px}.kpi-strip{grid-template-columns:1fr}.kpi-cell+.kpi-cell{box-shadow:none;border-top:1px solid var(--card-border)}.admin-page{padding:20px 16px 48px}.editor-panel{padding:16px}.segmented-control{width:100%}.segmented-option{flex:1;text-align:center}.badge-neutral,.accordion-tags,.admin-toolbar-hint{display:none}.admin-commandbar{top:8px}.admin-toolbar-context{width:100%}.admin-toolbar-actions{width:100%;flex-wrap:nowrap;justify-content:flex-end}.admin-toolbar-actions .sync-badge{margin-right:auto;padding:8px}.admin-toolbar-actions .toolbar-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-toolbar-actions .btn-primary{flex:1}.data-panel{height:420px}.chat-panel{right:12px;left:12px;width:auto;bottom:76px}.chat-fab{right:16px;bottom:18px}.back-to-top{right:16px;bottom:76px}}
