@font-face{font-family:Proxima Nova;src:url(../fonts/ProximaNova-Regular-BkyKiRiS.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Proxima Nova;src:url(../fonts/Proxima%20Nova%20Bold-ZY2eH_dj.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Proxima Nova;src:url(../fonts/Proxima%20Nova%20Alt%20Light-CbVQ-pFK.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Proxima Nova;src:url(../fonts/Proxima%20Nova%20Alt%20Bold-Bz333mqs.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Proxima Nova Condensed;src:url(../fonts/Proxima%20Nova%20Condensed%20Light-CYGJuw3n.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Proxima Nova Condensed;src:url(../fonts/Proxima%20Nova%20Condensed%20Bold-queoISrA.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--color-primary-900: #0f172a;--color-primary-800: #1e293b;--color-primary-700: #334155;--color-primary-600: #475569;--color-primary-500: #64748b;--color-primary-400: #94a3b8;--color-primary-300: #cbd5e1;--color-primary-200: #e2e8f0;--color-primary-100: #f1f5f9;--color-primary-50: #f8fafc;--color-accent-primary: #2563eb;--color-accent-primary-hover: #1d4ed8;--color-accent-primary-light: #dbeafe;--color-accent-secondary: #7c3aed;--color-accent-secondary-hover: #6d28d9;--color-accent-tertiary: #0e7490;--color-accent-success: #10b981;--color-accent-warning: #f59e0b;--color-accent-error: #ef4444;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-inverted: #ffffff;--color-text-muted: #94a3b8;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-inverted: #0f172a;--color-bg-overlay: rgba(15, 23, 42, .92);--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--color-border-tertiary: rgba(148, 163, 184, .2);--theme-transition: background-color .3s ease, color .3s ease, border-color .3s ease;--font-family-primary: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .825rem + .25vw, 1rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.35rem + .75vw, 1.875rem);--font-size-3xl: clamp(1.875rem, 1.65rem + 1.125vw, 2.25rem);--font-size-4xl: clamp(2.25rem, 1.95rem + 1.5vw, 3rem);--font-size-5xl: clamp(2.5rem, 2.1rem + 2vw, 3.5rem);--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.1;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .08em;--letter-spacing-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--z-index-base: 0;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 300;--z-index-overlay: 400;--z-index-modal: 500;--z-index-popover: 600;--z-index-tooltip: 700;--breakpoint-xs: 320px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1440px;--breakpoint-3xl: 1600px;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-5xl: 64rem;--container-6xl: 72rem;--container-7xl: 80rem;--container-full: 100%;--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-large: 56px;--space-fluid-xs: clamp(.25rem, .2rem + .25vw, .5rem);--space-fluid-sm: clamp(.5rem, .4rem + .5vw, 1rem);--space-fluid-md: clamp(1rem, .8rem + 1vw, 2rem);--space-fluid-lg: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);--space-fluid-xl: clamp(2rem, 1.5rem + 2.5vw, 4rem);--space-fluid-2xl: clamp(3rem, 2rem + 5vw, 6rem)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.p-16{padding:var(--space-16)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-auto{margin:auto}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.tracking-widest{letter-spacing:var(--letter-spacing-widest)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverted{color:var(--color-text-inverted)}.text-accent{color:var(--color-accent-primary)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-accent{background-color:var(--color-accent-primary)}.border-primary{border-color:var(--color-border-primary)}.border-secondary{border-color:var(--color-border-secondary)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}[data-theme=dark]{--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverted: #0f172a;--color-text-muted: #64748b;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-inverted: #ffffff;--color-bg-overlay: rgba(241, 245, 249, .92);--color-border-primary: #334155;--color-border-secondary: #475569;--color-border-tertiary: rgba(148, 163, 184, .2);--color-accent-primary: #3b82f6;--color-accent-primary-hover: #2563eb;--color-accent-primary-light: #1e3a8a;--color-accent-secondary: #8b5cf6;--color-accent-secondary-hover: #7c3aed;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .3), 0 1px 2px -1px rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .3);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .5);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .3)}.hidden-mobile{display:none}@media(min-width:768px){.hidden-mobile{display:block}.visible-mobile-only{display:none}}@media(max-width:767px){.hidden-mobile{display:none}.visible-mobile-only{display:block}.hidden-tablet-down{display:none}}@media(min-width:1024px){.hidden-desktop{display:none}.visible-desktop-only{display:block}}@media(max-width:1023px){.visible-desktop-only{display:none}}.touch-target{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.touch-target-comfortable{min-width:var(--touch-target-comfortable);min-height:var(--touch-target-comfortable)}.touch-target-large{min-width:var(--touch-target-large);min-height:var(--touch-target-large)}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.scrollable-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scrollable-y{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;transition:var(--theme-transition);overflow-x:hidden}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;transition:var(--theme-transition);overflow-x:hidden;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-primary)}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}code,kbd,samp,pre{font-family:var(--font-family-mono)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:1;text-align:center;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base),color var(--transition-base);border:none;white-space:nowrap;min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(hover:none)and (pointer:coarse){.btn{min-height:var(--touch-target-comfortable)}.btn:hover{transform:none}.btn:active{transform:scale(.98);opacity:.9}}.btn--primary{background-color:var(--color-accent-primary);color:var(--color-text-inverted);box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){background-color:var(--color-accent-primary-hover);box-shadow:var(--shadow-lg)}.btn--secondary{background-color:transparent;color:var(--color-accent-primary);border:1px solid rgba(37,99,235,.3)}.btn--secondary:hover:not(:disabled){background-color:#2563eb14}.btn--tertiary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn--tertiary:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.btn--ghost{background-color:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn--lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-lg)}.btn--icon-only{padding:var(--space-3);aspect-ratio:1}.card{background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-6);border:1px solid rgba(148,163,184,.18);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:#2563eb4d}.card--sm{padding:var(--space-4);border-radius:var(--radius-xl)}.card--lg{padding:var(--space-8);border-radius:var(--radius-3xl)}.card--secondary{background:var(--color-bg-secondary);border-color:#94a3b838;box-shadow:var(--shadow-sm)}.card--flat{box-shadow:none;border:1px solid var(--color-border-primary)}.card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.card__body{color:var(--color-text-secondary)}.card__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;border:1px solid transparent}.badge--default{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:#94a3b833}.badge--primary{background-color:var(--color-accent-primary-light);color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.badge--secondary{background-color:#7c3aed1a;color:var(--color-accent-secondary);border-color:var(--color-accent-secondary)}.badge--success{background-color:#10b9811a;color:var(--color-accent-success);border-color:var(--color-accent-success)}.badge--warning{background-color:#f59e0b1a;color:var(--color-accent-warning);border-color:var(--color-accent-warning)}.badge--error{background-color:#ef44441a;color:var(--color-accent-error);border-color:var(--color-accent-error)}.badge--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.badge--lg{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background-color:currentColor}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid rgba(148,163,184,.2);transition:background-color var(--transition-base),border-color var(--transition-base)}.chip--clickable{cursor:pointer}.chip--clickable:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.chip--selected{background-color:var(--color-accent-primary-light);color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.chip__avatar{width:20px;height:20px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.chip__icon{font-size:1rem}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-full);background-color:transparent;color:currentColor;cursor:pointer;transition:background-color var(--transition-fast);padding:0;margin:0;border:none}.chip__remove:hover{background-color:#0000001a}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:none;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.icon-btn:hover{background-color:var(--color-accent-primary);color:var(--color-text-inverted);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(hover:none)and (pointer:coarse){.icon-btn{width:var(--touch-target-comfortable);height:var(--touch-target-comfortable)}.icon-btn:hover{transform:none}.icon-btn:active{background-color:var(--color-accent-primary);color:var(--color-text-inverted);transform:scale(.95)}}.icon-btn--sm{width:32px;height:32px}.icon-btn--lg{width:48px;height:48px}.icon-btn--primary{background-color:var(--color-accent-primary);color:var(--color-text-inverted)}.icon-btn--primary:hover{background-color:var(--color-accent-primary-hover)}.link{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-base);cursor:pointer}.link:hover{color:var(--color-accent-primary-hover);text-decoration:underline}.link--muted{color:var(--color-text-secondary)}.link--muted:hover{color:var(--color-accent-primary)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;background-color:var(--color-bg-secondary)}.avatar--xs{width:24px;height:24px}.avatar--sm{width:32px;height:32px}.avatar--md{width:40px;height:40px}.avatar--lg{width:56px;height:56px}.avatar--xl{width:80px;height:80px}.avatar--2xl{width:120px;height:120px}.avatar__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar__initials{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.avatar--bordered{border:2px solid var(--color-bg-primary);box-shadow:var(--shadow-md)}.divider{height:1px;background-color:var(--color-border-primary);border:none;margin:var(--space-6) 0}.divider--vertical{width:1px;height:auto;align-self:stretch;margin:0 var(--space-4)}.divider--dashed{background:none;border-top:1px dashed var(--color-border-primary)}.divider--thick{height:2px}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.container--xs{max-width:var(--container-xs)}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}.container--xl{max-width:var(--container-xl)}.container--2xl{max-width:var(--container-2xl)}.container--3xl{max-width:var(--container-3xl)}.container--fluid{max-width:100%}.stack{display:flex;flex-direction:column}.stack--xs{gap:var(--space-1)}.stack--sm{gap:var(--space-2)}.stack--md{gap:var(--space-4)}.stack--lg{gap:var(--space-6)}.stack--xl{gap:var(--space-8)}.inline{display:flex;flex-direction:row;align-items:center}.inline--xs{gap:var(--space-1)}.inline--sm{gap:var(--space-2)}.inline--md{gap:var(--space-4)}.inline--lg{gap:var(--space-6)}.inline--xl{gap:var(--space-8)}.grid-auto{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-2{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.grid-3{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border-primary);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--theme-transition)}.theme-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.theme-toggle__track{position:relative;width:44px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center}.theme-toggle__thumb{position:absolute;width:20px;height:20px;border-radius:var(--radius-full);background-color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.theme-toggle__icon{color:var(--color-text-secondary)}.theme-toggle__label{white-space:nowrap;line-height:1.4}@media(max-width:768px){.theme-toggle__label{display:none}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;border-radius:var(--radius-md);display:block}.skeleton--text{border-radius:var(--radius-sm);transform:scaleY(.8)}.skeleton--circular{border-radius:var(--radius-full)}.skeleton--rectangular{border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.contact-form{max-width:600px;margin:0 auto;padding:2rem;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-form__field{margin-bottom:1.5rem}.contact-form__label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary);line-height:1.4}.contact-form__required{color:var(--color-accent-error)}.contact-form__input,.contact-form__textarea{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.contact-form__input:focus,.contact-form__textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #2563eb1a}.contact-form__input--error{border-color:var(--color-accent-error)}.contact-form__textarea{resize:vertical;min-height:120px}.contact-form__error{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;font-size:.875rem;color:var(--color-accent-error);line-height:1.5}.contact-form__error-icon{flex-shrink:0;margin-top:.125rem}.contact-form__message{padding:1rem;margin-bottom:1.5rem;border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5}.contact-form__message-icon{flex-shrink:0;margin-top:.125rem}.contact-form__message--success{background:#10b9811a;color:var(--color-accent-success);border:1px solid rgba(16,185,129,.3)}.contact-form__message--error{background:#ef44441a;color:var(--color-accent-error);border:1px solid rgba(239,68,68,.3)}.contact-form__submit{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--color-accent-primary);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .2s,transform .1s}.contact-form__submit:hover:not(:disabled){background:var(--color-accent-primary-hover)}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-form__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.contact-section__form-wrapper{margin-top:3rem}.skill-bar{margin-bottom:1.5rem}.skill-bar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.skill-bar__name{font-weight:500;color:var(--color-text-primary);line-height:1.4;flex:1}.skill-bar__level{font-size:.875rem;font-weight:600;color:var(--color-accent-primary);white-space:nowrap;flex-shrink:0;line-height:1.4}.skill-bar__track{height:8px;background:var(--color-border-primary);border-radius:var(--radius-full);overflow:hidden}.skill-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary));border-radius:var(--radius-full)}.skills-section__bars{display:flex;flex-direction:column;gap:.5rem}.project-carousel{position:relative;margin:2rem 0;padding:2rem 0}.project-carousel__container{display:flex;align-items:center;gap:1rem}.project-carousel__content{flex:1;overflow:hidden;position:relative;min-height:300px}.project-carousel__slide{width:100%}.project-carousel__card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);cursor:pointer;transition:box-shadow .2s}.project-carousel__card:hover{box-shadow:var(--shadow-lg)}.project-carousel__card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.project-carousel__card-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;flex:1}.project-carousel__card-year{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);padding:.25rem .75rem;background:var(--color-bg-primary);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;line-height:1.4}.project-carousel__card-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-carousel__card-tags{margin-bottom:1.5rem}.project-carousel__card-footer{display:flex;justify-content:flex-end}.project-carousel__card-cta{display:flex;align-items:center;gap:.5rem;color:var(--color-accent-primary);font-weight:600;font-size:.95rem}.project-carousel__nav{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;transition:all .2s;flex-shrink:0}.project-carousel__nav:hover{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.project-carousel__indicators{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.project-carousel__indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-primary);border:none;cursor:pointer;transition:all .2s;padding:0}.project-carousel__indicator--active{width:24px;background:var(--color-accent-primary)}.projects-section__featured{margin-bottom:3rem}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.project-modal{background:var(--color-bg-secondary);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl)}.project-modal__close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);border:none;border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;transition:all .2s;z-index:1}.project-modal__close:hover{background:var(--color-accent-error);color:#fff}.project-modal__content{padding:2rem}.project-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-right:2rem}.project-modal__title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;flex:1}.project-modal__year{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);padding:.25rem .75rem;background:var(--color-bg-primary);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;line-height:1.4}.project-modal__description{color:var(--color-text-secondary);line-height:1.7;margin-bottom:2rem}.project-modal__tags{margin-bottom:2rem}.project-modal__tags-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.project-modal__actions{display:flex;gap:1rem;flex-wrap:wrap}.project-modal__button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);border:2px solid var(--color-border-primary);background:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s;text-decoration:none}.project-modal__button:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.project-modal__button--primary{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.project-modal__button--primary:hover{background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);color:#fff}@media(max-width:768px){.contact-form{padding:1.5rem}.project-carousel__container{flex-direction:column;gap:1.5rem}.project-carousel__nav{display:none}.project-carousel__card{padding:1.5rem}.project-carousel__card-title{font-size:1.25rem}.project-modal__content{padding:1.5rem}.project-modal__title{font-size:1.5rem}.project-modal__actions{flex-direction:column}.project-modal__button{width:100%;justify-content:center}}@media(hover:none)and (pointer:coarse){.project-carousel__card:active,.contact-form__submit:active{transform:scale(.98)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}*:focus{outline:none}*:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:root{--color-focus-ring: #2563eb;--color-focus-ring-error: #ef4444;--color-focus-ring-success: #10b981}[data-theme=dark]{--color-focus-ring: #3b82f6;--color-focus-ring-error: #f87171;--color-focus-ring-success: #34d399}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}input:focus-visible:invalid,textarea:focus-visible:invalid,select:focus-visible:invalid{outline-color:var(--color-focus-ring-error)}.skip-nav{position:fixed;top:-100px;left:50%;transform:translate(-50%);z-index:9999;padding:var(--space-3) var(--space-6);background-color:var(--color-accent-primary);color:var(--color-text-inverted);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);box-shadow:var(--shadow-xl);transition:top var(--transition-fast);text-decoration:none}.skip-nav:focus{top:var(--space-4);outline:3px solid var(--color-text-inverted);outline-offset:2px}.card:focus-visible,.project-carousel__card:focus-visible,.timeline-item:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;box-shadow:var(--shadow-xl)}@media(prefers-contrast:high){*:focus-visible{outline-width:4px;outline-offset:3px}.skip-nav:focus{outline-width:4px}}@media(prefers-reduced-motion:reduce){.skip-nav{transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section-nav__link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;background-color:var(--color-bg-tertiary)}.project-modal__close:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;transform:scale(1.1)}.project-carousel__nav:focus-visible,.project-carousel__indicator:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;transform:scale(1.1)}.icon-btn,.project-carousel__nav,.project-modal__close,.theme-toggle{min-width:44px;min-height:44px}.project-carousel__indicator{min-width:44px;min-height:12px;padding:var(--space-2)}.live-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.focus-trap-container{isolation:isolate}.text-muted,.text-tertiary,[data-theme=dark] .text-muted,[data-theme=dark] .text-tertiary{color:var(--color-text-tertiary)}.status-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-2)}.status-message--success{background-color:#10b9811a;color:var(--color-accent-success);border:1px solid var(--color-accent-success)}.status-message--error{background-color:#ef44441a;color:var(--color-accent-error);border:1px solid var(--color-accent-error)}.status-message--warning{background-color:#f59e0b1a;color:var(--color-accent-warning);border:1px solid var(--color-accent-warning)}.status-message--info{background-color:#2563eb1a;color:var(--color-accent-primary);border:1px solid var(--color-accent-primary)}.btn:hover:after,.link:hover:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:currentColor;opacity:.3}.btn{position:relative}.btn:hover:after{display:none}.link{position:relative;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.link:hover{text-decoration-thickness:2px}.project-carousel:focus-within .project-carousel__nav,.project-carousel:focus-within .project-carousel__indicator{opacity:1}h1,h2,h3,h4,h5,h6{scroll-margin-top:var(--space-20)}p+p{margin-top:var(--space-4)}.contact-form__input:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-color:var(--color-focus-ring)}.contact-form__input--error:focus-visible{outline-color:var(--color-focus-ring-error);border-color:var(--color-focus-ring-error)}[aria-busy=true]{cursor:wait}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.6}[role=button]:not(button),[role=link]:not(a){cursor:pointer}.project-modal-overlay{background-color:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .project-modal-overlay{background-color:#0f172af2}[role=tooltip],[role=dialog],[role=alertdialog]{outline:none}.theme-toggle:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.project-carousel__content:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-3px}.resume-section{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:auto 500px}.hero-section{contain:layout style;content-visibility:visible}.timeline-item,.projects-section__card{contain:layout style paint}.about-section__partner-card{contain:layout paint}.skill-bar{contain:layout style}picture{display:contents}img{content-visibility:auto}img.loading{opacity:0;transition:opacity .3s ease-in-out}img.loaded{opacity:1}.carousel-container,.section-nav{contain:layout style}.hero-section__media{min-width:160px;min-height:160px}.hero-section__avatar,.about-section__partner-logo{aspect-ratio:1}.modal-overlay{contain:layout style paint}.contact-form{contain:layout style}.animated-section{will-change:opacity,transform}.animated-section.visible{will-change:auto}.skeleton{contain:layout style paint}.pwa-prompt{position:fixed;bottom:var(--space-6);right:var(--space-6);max-width:400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-5);z-index:9999;display:flex;flex-direction:column;gap:var(--space-4)}.pwa-prompt--offline{background-color:var(--color-accent-primary);color:var(--color-text-inverted);border-color:var(--color-accent-primary)}.pwa-prompt__content{display:flex;align-items:flex-start;gap:var(--space-4)}.pwa-prompt__icon{flex-shrink:0;width:24px;height:24px;color:var(--color-accent-primary)}.pwa-prompt--offline .pwa-prompt__icon{color:var(--color-text-inverted)}.pwa-prompt__text{flex:1}.pwa-prompt__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0;color:var(--color-text-primary);line-height:1.4}.pwa-prompt--offline .pwa-prompt__title{color:var(--color-text-inverted)}.pwa-prompt__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.pwa-prompt--offline .pwa-prompt__message{color:var(--color-text-inverted);opacity:.9}.pwa-prompt__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.pwa-prompt__button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base),opacity var(--transition-base);border:none;outline:none}.pwa-prompt__button:hover{transform:translateY(-1px)}.pwa-prompt__button:active{transform:translateY(0)}.pwa-prompt__button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.pwa-prompt__button--primary{background-color:var(--color-accent-primary);color:var(--color-text-inverted)}.pwa-prompt__button--primary:hover{background-color:var(--color-accent-primary-hover)}.pwa-prompt--offline .pwa-prompt__button--primary{background-color:var(--color-text-inverted);color:var(--color-accent-primary)}.pwa-prompt--offline .pwa-prompt__button--primary:hover{opacity:.9}.pwa-prompt__button--secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.pwa-prompt__button--secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.pwa-prompt--offline .pwa-prompt__button--secondary{color:var(--color-text-inverted);border-color:var(--color-text-inverted);opacity:.8}.pwa-prompt--offline .pwa-prompt__button--secondary:hover{background-color:#ffffff1a;opacity:1}@media(max-width:768px){.pwa-prompt{bottom:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none}.pwa-prompt__actions{flex-direction:column}.pwa-prompt__button{width:100%}}@media(prefers-reduced-motion:reduce){.pwa-prompt__button:hover,.pwa-prompt__button:active{transform:none}}.offline-indicator{position:fixed;top:var(--space-6);left:50%;transform:translate(-50%);background-color:#f59e0b;color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-3);z-index:9999;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.offline-indicator__icon{width:16px;height:16px;flex-shrink:0}.offline-indicator__text{white-space:nowrap;line-height:1.4}@media(max-width:768px){.offline-indicator{top:var(--space-4);left:var(--space-4);right:var(--space-4);transform:none;justify-content:center}.offline-indicator__text{white-space:normal;text-align:center}}.resume-layout{position:relative;min-height:100vh;background:var(--color-bg-secondary);transition:var(--theme-transition)}.resume-layout__background{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 60%),radial-gradient(circle at bottom right,rgba(14,116,144,.1),transparent 55%);z-index:0;pointer-events:none}.resume-layout__header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm);transition:var(--theme-transition)}@media(prefers-color-scheme:dark){.resume-layout__header{background:#0f172aeb}}[data-theme=dark] .resume-layout__header{background:#0f172aeb}.resume-layout__header-container{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.resume-layout__theme-toggle{display:flex;align-items:center;flex-shrink:0}.resume-layout__content{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.section-nav{flex:1;overflow-x:auto;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav__list{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.section-nav__item{flex-shrink:0}.section-nav__link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-weight:500;white-space:nowrap;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base);position:relative}.section-nav__link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translateY(-1px)}.section-nav__link--active{color:var(--color-accent-primary)}.section-nav__link--active:after{content:"";position:absolute;bottom:-.5rem;left:0;right:0;height:2px;background:var(--color-accent-primary);border-radius:var(--radius-full)}.section-nav__icon{font-size:1rem;flex-shrink:0}.section-nav__label{font-size:var(--font-size-sm);line-height:1.4}.resume-section{position:relative;background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-6);border:1px solid rgba(148,163,184,.18);transition:var(--theme-transition)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.section-header__heading{display:flex;align-items:flex-start;gap:var(--space-4)}.section-header__icon{color:var(--color-accent-primary);font-size:1.5rem;flex-shrink:0;margin-top:.125rem}.section-header__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1.3;margin:0}.section-header__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-1);line-height:1.5}.hero-section{display:grid;gap:var(--space-6);grid-template-columns:auto 1fr;align-items:start;padding:var(--space-8);overflow:hidden}.hero-section__media{position:relative;width:160px;height:160px;border-radius:var(--radius-full);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center}.hero-section__avatar{width:140px;height:140px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:4px solid var(--color-bg-primary)}.hero-section__content{display:flex;flex-direction:column;gap:var(--space-3)}.hero-section__eyebrow{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-primary);font-weight:600;line-height:1.4}.hero-section__title{font-size:clamp(2rem,1rem + 2vw,3rem);font-weight:800;color:var(--color-text-primary);line-height:1.15;margin:0}.hero-section__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:600;line-height:1.5}.hero-section__description{color:var(--color-text-secondary);line-height:1.6}.hero-section__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.hero-section__cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--color-accent-primary);color:var(--color-text-inverted);font-weight:600;box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.hero-section__cta:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hero-section__cta--secondary{background:transparent;color:var(--color-accent-primary);border:1px solid rgba(37,99,235,.3)}.hero-section__cta--secondary:hover{background:#2563eb14}.hero-section__cta-icon{font-size:1.1rem}.social-links{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.social-links__link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base)}.social-links__link:hover{background:var(--color-accent-primary);color:var(--color-text-inverted);transform:translateY(-2px)}.resume-grid{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}.resume-grid__sidebar{display:flex;flex-direction:column;gap:var(--space-6);grid-column:1}.resume-grid__main{display:flex;flex-direction:column;gap:var(--space-6);grid-column:2}.resume-grid__full{grid-column:1 / -1}.about-section__content{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--color-text-secondary)}.about-section__paragraph{line-height:1.7;margin:0}.about-section__partners-heading{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);margin-top:var(--space-1)}.about-section__partners-icon{color:var(--color-accent-primary);font-size:1.25rem;flex-shrink:0}.about-section__partners-title{font-size:var(--font-size-lg);font-weight:700}.about-section__partners-list{display:grid;gap:var(--space-3)}.about-section__partner-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid rgba(148,163,184,.24)}.about-section__partner-logo{width:48px;height:48px;-o-object-fit:contain;object-fit:contain}.about-section__partner-caption{display:flex;flex-direction:column;gap:var(--space-1)}.about-section__partner-name{font-weight:600;color:var(--color-text-primary);line-height:1.4}.about-section__partner-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:1.5}.badge-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge-list__item{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);border:1px solid rgba(148,163,184,.2);line-height:1.4}.experience-section__timeline{display:flex;flex-direction:column;gap:var(--space-5)}.timeline-item{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid rgba(148,163,184,.2)}.timeline-item:last-child{border-bottom:none;padding-bottom:0}.timeline-item__header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.timeline-item__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);line-height:1.4;flex:1}.timeline-item__period{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:500;white-space:nowrap;flex-shrink:0}.timeline-item__subtitle{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);line-height:1.5}.timeline-item__description{color:var(--color-text-secondary);line-height:1.6}.timeline-item__highlights{display:grid;gap:var(--space-2);padding-left:var(--space-5);list-style:disc;color:var(--color-text-secondary)}.timeline-item__highlight{line-height:1.6}.projects-section__grid{display:grid;gap:var(--space-4)}.projects-section__card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-sm)}.projects-section__card-title{font-size:var(--font-size-lg);font-weight:600;line-height:1.4}.projects-section__card-link{color:var(--color-accent-primary)}.projects-section__card-link:hover{text-decoration:underline}.projects-section__card-description{color:var(--color-text-secondary);line-height:1.6}.projects-section__other{margin-top:var(--space-5)}.projects-section__other-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-3);line-height:1.4}.projects-section__other-list{display:grid;gap:var(--space-2)}.projects-section__other-item{line-height:1.6}.projects-section__other-link{color:var(--color-text-secondary);line-height:1.6}.projects-section__other-link:hover{color:var(--color-accent-primary)}.skills-section__grid{display:grid;gap:var(--space-4)}.skills-section__category-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-3);line-height:1.4}.skills-section__languages{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(148,163,184,.2)}.skills-section__languages-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.skills-section__languages-icon{color:var(--color-accent-primary);font-size:1.2rem;flex-shrink:0}.skills-section__languages-title{font-size:var(--font-size-base);font-weight:600}.skills-section__languages-list{display:grid;gap:var(--space-2)}.skills-section__languages-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-1) 0}.skills-section__language-name{font-weight:600;line-height:1.5}.skills-section__language-level{color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0;line-height:1.5}.education-section__list,.certifications-section__list{display:grid;gap:var(--space-4)}.education-section__item,.certifications-section__item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-xs)}.education-section__institution{font-size:var(--font-size-base);font-weight:600;line-height:1.4}.education-section__program{color:var(--color-text-secondary);line-height:1.5}.education-section__period{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:1.5}.certifications-section__item-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.certifications-section__title{font-size:var(--font-size-base);font-weight:600;line-height:1.4}.certifications-section__issued{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:500;white-space:nowrap;flex-shrink:0;line-height:1.5}.certifications-section__issuer{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600;line-height:1.5}.certifications-section__description{color:var(--color-text-secondary);line-height:1.6}.certifications-section__link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-accent-primary);font-weight:600;line-height:1.5}.hobbies-section .badge-list{gap:var(--space-3)}.contact-section__grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-sm);color:var(--color-text-primary);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.stat-card--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#2563eb66}.stat-card__icon-wrapper{width:48px;height:48px;border-radius:var(--radius-full);background:#2563eb1a;display:flex;align-items:center;justify-content:center}.stat-card__icon{font-size:1.25rem;color:var(--color-accent-primary)}.stat-card__content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.stat-card__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);line-height:1.3}.stat-card__value{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);line-height:1.4;word-break:break-word}.stat-card__description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:1.5;margin-top:var(--space-1)}.footer-section{text-align:center;background:transparent;box-shadow:none;border:none}.footer-section__inner{border-radius:var(--radius-xl);padding:var(--space-4);background:#0f172aeb;color:var(--color-text-inverted)}.footer-section__text{font-size:var(--font-size-sm);line-height:1.5;margin:0}@media(min-width:1600px){.resume-layout__container{max-width:1500px;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--space-12)}.resume-section{padding:var(--space-10)}.hero-section{padding:var(--space-12);gap:var(--space-8)}.hero-section__media{width:180px;height:180px}.hero-section__avatar{width:160px;height:160px}.resume-grid{gap:var(--space-10);grid-template-columns:minmax(0,320px) minmax(0,1fr)}.section-header__title{font-size:var(--font-size-3xl)}.contact-section__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(min-width:1440px)and (max-width:1599px){.resume-layout__container{max-width:1400px;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:var(--space-10)}.resume-section{padding:var(--space-8)}.hero-section{padding:var(--space-10)}.resume-grid{gap:var(--space-8)}.contact-section__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(min-width:1280px)and (max-width:1439px){.resume-layout__container{max-width:1280px;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:var(--space-8)}.resume-section{padding:var(--space-7)}.hero-section{padding:var(--space-8)}.resume-grid{gap:var(--space-7)}}@media(min-width:1025px)and (max-width:1279px){.resume-layout__container{max-width:1200px;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:var(--space-7)}.resume-section{padding:var(--space-6)}.hero-section{padding:var(--space-7)}.resume-grid{gap:var(--space-6)}}@media(min-width:900px)and (max-width:1024px){.resume-layout__content{max-width:1024px}.resume-section{padding:var(--space-6)}.hero-section{padding:var(--space-7);grid-template-columns:auto 1fr;text-align:left}.hero-section__content{align-items:flex-start}.hero-section__actions,.social-links{justify-content:flex-start}.resume-grid{grid-template-columns:1fr;gap:var(--space-5)}.resume-grid__sidebar,.resume-grid__main,.resume-grid__full{grid-column:1}}@media(min-width:769px)and (max-width:899px){.resume-layout__content{gap:var(--space-5)}.hero-section{padding:var(--space-7);grid-template-columns:auto 1fr;text-align:left;gap:var(--space-5)}.hero-section__content{align-items:flex-start}.hero-section__actions,.social-links{justify-content:flex-start}.resume-grid{grid-template-columns:1fr;gap:var(--space-5)}.resume-grid__sidebar,.resume-grid__main,.resume-grid__full{grid-column:1}.contact-section__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(min-width:600px)and (max-width:768px){.resume-layout__header-container{padding:var(--space-3) var(--space-4)}.section-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.section-nav__list{gap:var(--space-2);padding-bottom:var(--space-1)}.section-nav__link{padding:var(--space-2) var(--space-3);min-height:44px}.resume-layout__content{padding:var(--space-6) var(--space-4) var(--space-10)}.resume-section{padding:var(--space-5)}.hero-section{padding:var(--space-6);grid-template-columns:1fr;text-align:center;align-items:center}.hero-section__media{margin:0 auto;width:140px;height:140px}.hero-section__avatar{width:120px;height:120px}.hero-section__content{align-items:center}.hero-section__actions,.social-links{justify-content:center}.social-links__link{min-width:44px;min-height:44px}.resume-grid{grid-template-columns:1fr}.resume-grid__sidebar,.resume-grid__main,.resume-grid__full{grid-column:1}.contact-section__grid{grid-template-columns:1fr}.hero-section__cta{min-height:44px}}@media(min-width:481px)and (max-width:599px){.resume-layout__header-container{padding:var(--space-2) var(--space-4)}.section-nav__list{gap:var(--space-2)}.section-nav__link{padding:var(--space-2) var(--space-3);min-height:44px}.resume-layout__content{padding:var(--space-6) var(--space-4) var(--space-10);gap:var(--space-5)}.resume-section{padding:var(--space-5)}.hero-section{padding:var(--space-6);grid-template-columns:1fr;text-align:center;align-items:center}.hero-section__media{margin:0 auto;width:140px;height:140px}.hero-section__avatar{width:120px;height:120px}.hero-section__content{align-items:center}.hero-section__actions,.social-links{justify-content:center}.social-links__link{min-width:44px;min-height:44px}.resume-grid{grid-template-columns:1fr}.resume-grid__sidebar,.resume-grid__main,.resume-grid__full{grid-column:1}.contact-section__grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.hero-section__cta{min-height:44px}}@media(max-width:480px){.resume-layout__header-container{padding:var(--space-2) var(--space-3);flex-direction:column;align-items:stretch;gap:var(--space-2)}.section-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.section-nav__list{gap:var(--space-2);flex-wrap:nowrap}.section-nav__link{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);min-height:44px}.section-nav__link--active:after{bottom:-.375rem}.section-nav__label{font-size:var(--font-size-xs)}.resume-layout__content{padding:var(--space-4) var(--space-3) var(--space-10);gap:var(--space-4)}.resume-section{padding:var(--space-5)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.section-header__title{font-size:var(--font-size-xl)}.hero-section{padding:var(--space-6);grid-template-columns:1fr;text-align:center;align-items:center;gap:var(--space-4)}.hero-section__media{margin:0 auto;width:130px;height:130px}.hero-section__avatar{width:110px;height:110px}.hero-section__content{align-items:center}.hero-section__actions{justify-content:center;flex-direction:column;width:100%}.hero-section__cta{width:100%;justify-content:center;min-height:48px;padding:var(--space-4) var(--space-5)}.social-links{justify-content:center;flex-wrap:wrap}.social-links__link{min-width:48px;min-height:48px;width:48px;height:48px}.resume-grid{grid-template-columns:1fr;gap:var(--space-4)}.resume-grid__sidebar,.resume-grid__main,.resume-grid__full{grid-column:1}.timeline-item__header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.skills-section__languages-item{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.stat-card{flex-direction:column;align-items:flex-start;text-align:left;padding:var(--space-4)}.stat-card__icon-wrapper{width:44px;height:44px}.stat-card__content{width:100%}.contact-section__grid{grid-template-columns:1fr;gap:var(--space-3)}.badge-list__item{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4)}.projects-section__grid,.experience-section__timeline{gap:var(--space-4)}}@media(max-width:360px){.resume-layout__header-container{padding:var(--space-2)}.resume-layout__content{padding:var(--space-4) var(--space-2) var(--space-8)}.resume-section{padding:var(--space-4);border-radius:var(--radius-xl)}.section-nav__link{padding:var(--space-2);font-size:var(--font-size-xs);gap:var(--space-1)}.hero-section{padding:var(--space-4)}.hero-section__media{width:110px;height:110px}.hero-section__avatar{width:90px;height:90px}.hero-section__actions{flex-direction:column;width:100%}.hero-section__cta{width:100%;justify-content:center;min-height:48px}.social-links__link{min-width:44px;min-height:44px;width:44px;height:44px}.stat-card{padding:var(--space-3)}.section-header__title{font-size:var(--font-size-lg)}.timeline-item__title{font-size:var(--font-size-base)}.badge-list{gap:var(--space-2)}.badge-list__item{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}}@media(max-width:320px){.resume-layout__header-container{padding:var(--space-1) var(--space-2)}.resume-layout__content{padding:var(--space-3) var(--space-2) var(--space-6)}.resume-section{padding:var(--space-3);border-radius:var(--radius-lg)}.section-nav__link{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);min-height:44px}.section-nav__icon{font-size:.875rem}.section-nav__label{display:none}.hero-section{padding:var(--space-3);gap:var(--space-3)}.hero-section__media{width:100px;height:100px}.hero-section__avatar{width:80px;height:80px;border-width:2px}.hero-section__title{font-size:clamp(1.5rem,1rem + 2vw,2rem)}.hero-section__cta{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}.social-links__link{min-width:40px;min-height:40px;width:40px;height:40px}.stat-card{padding:var(--space-3)}.stat-card__icon-wrapper{width:36px;height:36px}.section-header__icon{font-size:1.25rem}.timeline-item{gap:var(--space-2);padding-bottom:var(--space-3)}.projects-section__grid{gap:var(--space-3)}.projects-section__card{padding:var(--space-3)}}@media(orientation:landscape)and (max-height:600px){.resume-layout{padding:var(--space-4) var(--space-4) var(--space-6)}.hero-section{padding:var(--space-5)}.hero-section__media{width:120px;height:120px}.hero-section__avatar{width:100px;height:100px}.resume-section{padding:var(--space-5)}.section-nav{padding:var(--space-3)}.section-nav__link{padding:var(--space-2) var(--space-3)}}@media(hover:none)and (pointer:coarse){.section-nav__link{min-height:48px;padding:var(--space-3) var(--space-4)}.social-links__link{min-width:48px;min-height:48px}.hero-section__cta{min-height:48px;padding:var(--space-4) var(--space-5)}.stat-card--link{min-height:60px}.icon-btn{min-width:48px;min-height:48px}.section-nav__link:hover{transform:none}.section-nav__link:active{background:var(--color-accent-primary-light);color:var(--color-accent-primary)}.social-links__link:hover{transform:none}.social-links__link:active{background:var(--color-accent-primary);color:var(--color-text-inverted)}.hero-section__cta:hover{transform:none}.hero-section__cta:active{transform:scale(.98);opacity:.9}}
