@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-emerald-400:oklch(76.5% .177 163.223);--color-indigo-400:oklch(67.3% .182 276.935);--color-purple-400:oklch(71.4% .203 305.504);--color-pink-400:oklch(71.8% .202 349.761);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.-inset-3{inset:calc(var(--spacing) * -3)}.-inset-4{inset:calc(var(--spacing) * -4)}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-\[260px\]{height:260px}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-10{width:calc(var(--spacing) * 10)}.w-\[72px\]{width:72px}.w-\[90px\]{width:90px}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[520px\]{max-width:520px}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.resize{resize:both}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2\.25rem\]{border-radius:2.25rem}.rounded-\[3rem\]{border-radius:3rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[\#6366f1\]\/20{border-color:oklab(58.5404% .0252827 -.202483/.2)}.border-\[\#6366f1\]\/30{border-color:oklab(58.5404% .0252827 -.202483/.3)}.border-\[\#27272a\]{border-color:#27272a}.border-\[\#030303\]{border-color:#030303}.bg-\[\#0a0a0c\]{background-color:#0a0a0c}.bg-\[\#0d0d10\]\/70{background-color:oklab(16.0479% .00169695 -.00604899/.7)}.bg-\[\#0d0d10\]\/80{background-color:oklab(16.0479% .00169695 -.00604899/.8)}.bg-\[\#6366f1\]{background-color:#6366f1}.bg-\[\#6366f1\]\/10{background-color:oklab(58.5404% .0252827 -.202483/.1)}.bg-\[\#030303\]{background-color:#030303}.bg-\[\#111113\]{background-color:#111113}.bg-\[\#111113\]\/60{background-color:oklab(17.8529% .00111952 -.0039092/.6)}.bg-\[\#111113\]\/70{background-color:oklab(17.8529% .00111952 -.0039092/.7)}.bg-\[\#111113\]\/80{background-color:oklab(17.8529% .00111952 -.0039092/.8)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(circle_at_30\%_20\%\,rgba\(99\,102\,241\,0\.15\)\,transparent_60\%\)\]{background-image:radial-gradient(circle at 30% 20%,#6366f126,#0000 60%)}.bg-\[radial-gradient\(circle_at_50\%_0\%\,rgba\(168\,85\,247\,0\.18\)\,transparent_60\%\)\]{background-image:radial-gradient(circle at 50% 0,#a855f72e,#0000 60%)}.from-\[\#6366f1\]\/20{--tw-gradient-from:oklab(58.5404% .0252827 -.202483/.2);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.object-\[50\%_30\%\]{object-position:50% 30%}.p-4{padding:calc(var(--spacing) * 4)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.leading-\[0\.92\]{--tw-leading:.92;line-height:.92}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.6px\]{--tw-tracking:-.6px;letter-spacing:-.6px}.tracking-\[-3\.5px\]{--tw-tracking:-3.5px;letter-spacing:-3.5px}.tracking-\[2px\]{--tw-tracking:2px;letter-spacing:2px}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[\#818cf8\]{color:#818cf8}.text-\[\#71717a\]{color:#71717a}.text-\[\#a1a1aa\]{color:#a1a1aa}.text-\[\#d4d4d8\]{color:#d4d4d8}.text-\[\#f4f4f5\]{color:#f4f4f5}.text-black{color:var(--color-black)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-40{opacity:.4}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.placeholder\:text-\[\#52525b\]::placeholder{color:#52525b}@media (hover:hover){.hover\:border-\[\#6366f1\]:hover{border-color:#6366f1}.hover\:border-\[\#6366f1\]\/50:hover{border-color:oklab(58.5404% .0252827 -.202483/.5)}.hover\:bg-\[\#6366f1\]:hover{background-color:#6366f1}.hover\:text-white:hover{color:var(--color-white)}}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}@media (width>=40rem){.sm\:flex-row{flex-direction:row}}@media (width>=48rem){.md\:mx-0{margin-inline:calc(var(--spacing) * 0)}.md\:mt-0{margin-top:calc(var(--spacing) * 0)}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-\[320px\]{height:320px}.md\:h-\[850px\]{height:850px}.md\:w-\[320px\]{width:320px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:justify-end{justify-content:flex-end}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:text-\[28px\]{font-size:28px}}@media (width>=64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--bg:#030303;--bg-secondary:#0a0a0c;--card:#111113b3;--card-hover:#18181bd9;--border:#ffffff0d;--border-hover:#6366f14d;--text:#a1a1aa;--text-primary:#f8fafc;--text-muted:#71717a;--accent:#6366f1;--accent-hover:#818cf8;--accent-light:#6366f126;--accent-glow:#6366f166;--gradient-1:#6366f1;--gradient-2:#a855f7;--gradient-3:#ec4899;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bg-mesh{background-color:#030303;background-image:radial-gradient(at 0 0,#4338ca26 0,#0000 50%),radial-gradient(at 100% 0,#8b5cf61a 0,#0000 50%),radial-gradient(at 100% 100%,#f472b61a 0,#0000 50%);background-attachment:fixed}::selection{color:#fff;background-color:#a855f74d}h1,h2,h3,.heading-font{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:0;font-weight:700}h1{font-size:4rem;line-height:1}@media (width<=768px){h1{font-size:2.75rem}}.text-gradient{background:linear-gradient(135deg, var(--text-primary) 0%, #a1a1aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:var(--color-indigo-400);--tw-gradient-via:var(--color-purple-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));--tw-gradient-to:var(--color-pink-400);color:#0000;-webkit-background-clip:text;background-clip:text}.nav-link{font-weight:500;transition:color .3s;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link:after{content:"";background:linear-gradient(to right, var(--gradient-1), var(--gradient-2));border-radius:2px;width:0;height:2px;transition:width .4s cubic-bezier(.23,1,.32,1);position:absolute;bottom:-4px;left:0}.nav-link:hover:after{width:100%}.glass-card{-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#ffffff08 0%,#ffffff03 100%);border:1px solid #ffffff0d;box-shadow:0 4px 30px #0000001a}.cert-card{-webkit-backdrop-filter:blur(14px);cursor:default;background:linear-gradient(145deg,#fff1,#ffffff05),#0f0f14e0;border:1px solid #7dd3fc2e;flex-direction:column;height:100%;min-height:50px;display:flex;position:relative;box-shadow:0 22px 56px -42px #7dd3fc85,inset 0 0 0 1px #ffffff09,inset 0 1px #ffffff14}.cert-card[role=button]{cursor:pointer}.cert-card:hover{background:linear-gradient(160deg,#6366f114 0%,#0d0d10d9 60%);border-color:#818cf859;box-shadow:0 24px 60px -25px #6366f173,inset 0 0 0 1px #6366f126,0 0 40px -10px #a855f759}.cert-card-media{aspect-ratio:16/10;background:radial-gradient(circle at 50% 40%,#6366f114,#0000 70%),linear-gradient(135deg,#14141a 0%,#0a0a0d 100%);border-bottom:1px solid #ffffff0a;width:100%;position:relative;overflow:hidden}.cert-card-image{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.23,1,.32,1);display:block}.cert-card:hover .cert-card-image{transform:scale(1.06)}.cert-card-media:after{content:"";pointer-events:none;opacity:.7;background:linear-gradient(#0000 60%,#0000008c 100%);transition:opacity .4s;position:absolute;inset:0}.cert-card:hover .cert-card-media:after{opacity:.9}.cert-card-fallback{background:radial-gradient(circle,#6366f12e,#0000 65%),linear-gradient(135deg,#14141a 0%,#0a0a0d 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cert-card-zoom{-webkit-backdrop-filter:blur(8px);opacity:0;z-index:2;background:#0d0d10b3;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:30px;height:30px;transition:opacity .3s,transform .3s,background .3s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.cert-card:hover .cert-card-zoom{opacity:1;background:#6366f1d9;border-color:#a5b4fc80;transform:translateY(0)}.cert-card-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px 8px;display:flex}.cert-card-title{font-family:var(--font-sans,ui-sans-serif, system-ui, sans-serif);letter-spacing:0;color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.cert-card-issuer{letter-spacing:.14em;text-transform:uppercase;color:#818cf8;opacity:.85;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;font-weight:500}.cert-card:hover .cert-card-issuer{color:#c4b5fd;opacity:1}.skill-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff05;border:1px solid #ffffff0d;transition:all .3s}.skill-pill:hover{background:linear-gradient(135deg, var(--gradient-1), var(--gradient-2));color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 4px 15px #a855f74d}.timeline-item{position:relative}.timeline-item:before{content:"";background:linear-gradient(#ffffff1a 0%,#0000 100%);width:2px;position:absolute;top:0;bottom:-24px;left:7px}.timeline-item:last-child:before{display:none}.btn-primary{background:linear-gradient(135deg, var(--gradient-1), var(--gradient-2));color:#fff;transition:all .3s;box-shadow:0 4px 15px #6366f133}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #a855f766}.btn-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);background:#ffffff08;border:1px solid #ffffff1a;transition:all .3s}.btn-secondary:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 0 20px #6366f11a}.tech-badge{color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:border-color .3s}html{scroll-behavior:smooth}.section{scroll-margin-top:80px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#030303}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}[data-sonner-toaster]{--normal-bg:var(--card);--normal-text:var(--text-primary);--normal-border:var(--border)}@media (width<=768px){section:has(.hero-text-content)>div.flex{flex-direction:column!important}.hero-text-content{display:contents!important}.hero-text-content h1{text-align:center;order:1;margin-left:auto;margin-right:auto;margin-bottom:1.25rem!important}.hero-text-content>.third-year-badge{z-index:2;order:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0006;margin:0!important}.hero-text-content>div:not(.third-year-badge):not(.hero-actions):not(.hero-socials):has(.w-2){text-align:center;order:3;width:100%;margin-top:2.75rem!important;margin-bottom:1rem!important}.hero-text-content p{text-align:center;order:4;max-width:100%!important;margin-bottom:1.5rem!important}.hero-portrait{order:2;justify-content:center;width:100%;display:flex;position:relative;margin-top:.5rem!important;margin-bottom:0!important}.hero-portrait img{filter:grayscale();transition:filter .5s,transform .5s;width:220px!important;height:220px!important}.hero-portrait img:hover{filter:grayscale(0%)brightness(1.1)saturate(1.25);transform:scale(1.02)}@media (hover:none){.hero-portrait img{filter:grayscale()}.hero-portrait img:hover{filter:grayscale(0%)brightness(1.1)saturate(1.25);transform:scale(1.02)}}.hero-text-content .hero-actions{order:5;flex-direction:column!important;align-items:center!important;width:100%!important;margin-bottom:1.5rem!important}.hero-text-content .hero-actions button{justify-content:center;width:100%;max-width:280px}.hero-text-content .hero-socials{flex-wrap:wrap;order:6;width:100%;justify-content:center!important;margin-top:1rem!important}}.projects-slider{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;width:100%;padding:1rem 0;display:flex;overflow-x:auto}@media (width<=768px){.projects-slider{margin-left:-1.5rem;margin-right:-1.5rem}}.projects-slider::-webkit-scrollbar{display:none}.projects-slider-card{scroll-snap-align:start;flex:0 0 100vw;max-width:100vw}@media (width>=768px){.projects-slider{scroll-snap-type:none;grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid;overflow-x:visible}.projects-slider-card{scroll-snap-align:none;flex:none;min-width:auto}}@keyframes blink-slow{0%,to{opacity:1}50%{opacity:.3}}.third-year-badge .blink-dot{background-color:#22c55e;border-radius:50%;width:8px;height:8px;margin-right:.5rem;animation:2s ease-in-out infinite blink-slow;display:inline-block}.ambient-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.orb{filter:blur(80px);will-change:transform;border-radius:50%;position:absolute}.section-eyebrow-bar{background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);border-radius:9999px;width:28px;height:2px;display:inline-block;position:relative}.section-eyebrow-bar:before{content:"";background:inherit;filter:blur(6px);opacity:.6;position:absolute;inset:-3px}.title-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#cbd5e1 100%);-webkit-background-clip:text;background-clip:text}@keyframes section-reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal-on-enter{animation:.8s cubic-bezier(.23,1,.32,1) both section-reveal}.card-hover-lift{transition:transform .5s cubic-bezier(.23,1,.32,1),border-color .4s,box-shadow .5s,background .4s}.card-hover-lift:hover{transform:translateY(-6px);box-shadow:0 24px 60px -25px #818cf873,inset 0 0 0 1px #6366f126;background:linear-gradient(135deg,#6366f10f 0%,#a855f70a 100%)!important;border-color:#818cf859!important}.card-glow-top{position:relative;overflow:hidden}.card-glow-top:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#a855f780 50%,#0000 100%);height:1px;position:absolute;top:0;left:10%;right:10%}.card-shine{position:relative;overflow:hidden}.card-shine:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff14 50%,#0000 100%);width:60%;height:100%;transition:left .8s cubic-bezier(.23,1,.32,1);position:absolute;top:0;left:-120%}.card-shine:hover:after{left:130%}.section-divider{background:linear-gradient(90deg,#0000 0%,#6366f166 30%,#a855f766 50%,#ec489966 70%,#0000 100%) 0 0/200% 100%;height:1px;animation:8s linear infinite divider-flow}@keyframes divider-flow{0%{background-position:200% 0}to{background-position:-200% 0}}.surface-dotted{background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:24px 24px}.admin-login-screen{color:#f8fafc;background:linear-gradient(135deg,#030303fa 0%,#070a10fa 46%,#100d16fa 100%),linear-gradient(120deg,#22d3ee1f,#0000 38%),linear-gradient(300deg,#0000 44%,#ec48991a);place-items:center;min-height:100svh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.admin-login-screen:before,.admin-shell:before{content:"";pointer-events:none;opacity:.28;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 86%);mask-image:linear-gradient(#000 0%,#0000 86%)}.admin-login-grid{pointer-events:none;background:linear-gradient(125deg,#0000 0%,#7dd3fc14 32%,#0000 58%),linear-gradient(240deg,#0000 18%,#a855f71a 52%,#0000 74%);position:absolute;inset:0}.admin-login-card{z-index:1;-webkit-backdrop-filter:blur(22px);background:linear-gradient(#121218f0 0%,#08080cf5 100%);border:1px solid #ffffff1f;border-radius:28px;width:min(100%,448px);padding:2rem;position:relative;box-shadow:0 30px 90px -36px #000000e6,inset 0 0 0 1px #7dd3fc14}.admin-login-card:before,.admin-content-panel:before,.admin-table-shell:before,.admin-stat-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#7dd3fc9e,#ec48995c,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.admin-login-brand{align-items:center;gap:1rem;display:flex}.admin-login-note{color:#bae6fd;background:#7dd3fc14;border:1px solid #7dd3fc2e;border-radius:9999px;align-items:center;gap:.6rem;width:fit-content;margin-top:1.5rem;padding:.55rem .8rem;font-size:13px;display:flex}.admin-login-field{flex-direction:column;gap:.5rem;display:flex}.admin-login-field>span{text-transform:uppercase;letter-spacing:.12em;color:#a1a1aa;font-size:12px;font-weight:700}.admin-login-input-wrap{color:#7dd3fc;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:16px;align-items:center;min-height:54px;transition:border-color .25s,background .25s,box-shadow .25s;display:flex;position:relative}.admin-login-input-wrap:focus-within{background:#ffffff12;border-color:#7dd3fca3;box-shadow:0 0 0 4px #0ea5e921}.admin-login-input-wrap>svg{pointer-events:none;position:absolute;left:1rem}.admin-login-input{color:#fff;background:0 0;border:0;outline:0;width:100%;min-height:52px;padding:0 1rem 0 3rem;font-size:15px}.admin-login-input::placeholder{color:#71717a}.admin-password-toggle{color:#d4d4d8;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,color .2s;display:inline-flex;position:absolute;right:.75rem}.admin-password-toggle:hover{color:#fff;background:#ffffff14}.admin-login-submit,.admin-primary-action{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 52%,#db2777 100%);border:1px solid #c4b5fd6b;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:0 1rem;font-weight:700;line-height:1;transition:transform .25s,box-shadow .25s,opacity .25s;display:inline-flex;box-shadow:0 18px 36px -22px #a855f7e6}.admin-login-submit{width:100%;min-height:52px}.admin-login-submit:hover,.admin-primary-action:hover{transform:translateY(-1px);box-shadow:0 22px 44px -24px #ec4899f2}.admin-login-submit:disabled,.admin-primary-action:disabled{cursor:not-allowed;opacity:.62;transform:none}.admin-login-back{color:#a1a1aa;align-items:center;gap:.45rem;margin-top:1.25rem;font-size:14px;transition:color .2s;display:inline-flex}.admin-login-back:hover{color:#fff}.admin-shell{color:#e4e4e7;background:linear-gradient(#030303fa,#06080cfa),linear-gradient(135deg,#22d3ee14,#0000 44%),linear-gradient(300deg,#0000 42%,#ec489914);min-height:100vh;display:flex;position:relative;overflow:hidden}.admin-desktop-sidebar{z-index:2;flex:0 0 286px;width:286px;min-height:100vh;position:relative}.admin-sidebar{-webkit-backdrop-filter:blur(22px);background:#07070ad6;border-right:1px solid #ffffff1a;flex-direction:column;height:100%;display:flex}.admin-sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:.9rem;padding:1.35rem;display:flex}.admin-nav{flex-direction:column;flex:1;gap:.35rem;padding:.85rem;display:flex;overflow-y:auto}.admin-nav-link{color:#a1a1aa;text-align:left;border:1px solid #0000;border-radius:14px;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:0 .9rem;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex}.admin-nav-link:hover{color:#fff;background:#ffffff0f;border-color:#ffffff1a;transform:translate(2px)}.admin-nav-link-active{color:#fff;background:linear-gradient(135deg,#0ea5e929,#a855f721);border-color:#7dd3fc47;box-shadow:0 14px 32px -24px #7dd3fccc}.admin-nav-link-danger{color:#fca5a5}.admin-nav-link-danger:hover{color:#fecaca;background:#ef44441a;border-color:#f8717147}.admin-sidebar-actions{border-top:1px solid #ffffff14;flex-direction:column;gap:.35rem;padding:.85rem;display:flex}.admin-main{z-index:1;flex:1;min-width:0;max-height:100vh;padding:2rem;position:relative;overflow-y:auto}.admin-mobile-topbar,.admin-mobile-sidebar{display:none}.admin-menu-button{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.admin-page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-kicker{color:#7dd3fc;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.35rem;font-size:11px;font-weight:700}.admin-page-title{color:#fff;letter-spacing:0;margin:0;font-size:2.05rem;line-height:1.1}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;display:grid}.admin-stat-card,.admin-content-panel,.admin-table-shell,.admin-error-panel{background:linear-gradient(#131319e6 0%,#09090deb 100%);border:1px solid #ffffff1c;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 24px 64px -38px #000000e6,inset 0 0 0 1px #7dd3fc0f}.admin-stat-card:hover{background:linear-gradient(#181820f0 0%,#0a0a0ff0 100%);border-color:#7dd3fc57;transform:translateY(-2px)}.admin-stat-icon{color:#7dd3fc;background:#7dd3fc14;border:1px solid #7dd3fc33;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.admin-table-shell{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}.admin-table th{color:#f8fafc;text-align:left;text-transform:uppercase;letter-spacing:.12em;background:#ffffff0b;padding:1rem;font-size:12px;font-weight:700}.admin-table td{color:#d4d4d8;vertical-align:middle;border-top:1px solid #ffffff14;padding:1rem}.admin-icon-button{color:#e4e4e7;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:13px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.admin-icon-button:hover{color:#fff;background:#7dd3fc1a;border-color:#7dd3fc4d;transform:translateY(-1px)}.admin-icon-button-danger:hover{color:#fecaca;background:#ef44441f;border-color:#f871714d}.admin-empty-cell{text-align:center;color:#71717a!important;padding:2.25rem 1rem!important}.admin-loading{color:#d4d4d8;justify-content:center;align-items:center;min-height:52vh;font-weight:700;display:flex}.admin-loading:before{content:"";border:2px solid #7dd3fc38;border-top-color:#7dd3fc;border-radius:9999px;width:22px;height:22px;margin-right:.7rem;animation:.8s linear infinite spin}.admin-branding-panel .admin-field{background:#ffffff09;border:1px solid #ffffff14;border-radius:18px;padding:1rem}.admin-asset-preview{object-fit:cover;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;margin-bottom:.75rem;display:block}.admin-asset-preview-logo{object-fit:contain;width:72px;height:72px;padding:.6rem}.admin-asset-preview-portrait{width:96px;height:120px}.admin-asset-preview-hero{width:min(100%,320px);height:150px}.admin-asset-preview-favicon{object-fit:contain;width:48px;height:48px;padding:.45rem}.admin-input[type=file]{cursor:pointer;min-height:46px}.admin-input[type=file]::file-selector-button{color:#e0f2fe;cursor:pointer;background:#7dd3fc24;border:0;border-radius:10px;margin-right:.8rem;padding:.42rem .72rem;font-weight:700}@media (width<=900px){.admin-shell{display:block;overflow:visible}.admin-desktop-sidebar{display:none}.admin-mobile-topbar{z-index:60;-webkit-backdrop-filter:blur(20px);background:#050507e0;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex;position:sticky;top:0}.admin-mobile-sidebar{z-index:70;display:block;position:fixed;inset:76px 12px auto}.admin-mobile-sidebar .admin-sidebar{border:1px solid #ffffff1f;border-radius:24px;max-height:calc(100vh - 92px);box-shadow:0 30px 80px -40px #000000e6}.admin-main{max-height:none;padding:1.25rem 1rem 2rem;overflow:visible}}@media (width<=640px){.admin-login-card{border-radius:22px;padding:1.35rem}.admin-login-brand{align-items:flex-start}.admin-login-brand h1{font-size:1.85rem;line-height:1.1}.admin-page-header{flex-direction:column;align-items:stretch}.admin-page-title{font-size:1.75rem}.admin-primary-action{width:100%}.admin-stat-grid{grid-template-columns:1fr}.admin-content-panel,.admin-error-panel{border-radius:20px;padding:1rem}.admin-actions{flex-direction:column-reverse}.admin-btn,.admin-actions .admin-btn{justify-content:center;width:100%}}@keyframes admin-modal-fade{0%{opacity:0}to{opacity:1}}.admin-modal-panel{color:#fff;background:radial-gradient(1200px 600px at 0 0,#6366f11a,#0000 60%),radial-gradient(900px 500px at 100% 100%,#a855f71a,#0000 60%),linear-gradient(160deg,#14141af2 0%,#0a0a0df2 100%);border:1px solid #ffffff14;border-radius:1.25rem;width:100%;max-width:36rem;max-height:90vh;padding:1.75rem 1.75rem 1.5rem;animation:.35s cubic-bezier(.23,1,.32,1) both admin-modal-rise;position:relative;overflow-y:auto;box-shadow:0 30px 80px -20px #000000b3,inset 0 0 0 1px #6366f11a}.admin-modal-panel:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#a855f78c 50%,#0000 100%);height:1px;position:absolute;top:0;left:8%;right:8%}@keyframes admin-modal-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-modal-title{letter-spacing:0;color:#fff;align-items:center;gap:.6rem;margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;display:flex}.admin-modal-title:before{content:"";background:linear-gradient(#6366f1,#a855f7);border-radius:9999px;flex-shrink:0;width:4px;height:18px}.admin-form-grid{flex-direction:column;gap:1rem;display:flex}.admin-field{flex-direction:column;gap:.4rem;display:flex}.admin-field-label{text-transform:uppercase;letter-spacing:.14em;color:#a1a1aa;font-size:11px;font-weight:600}.admin-input,.admin-textarea{color:#fff;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.75rem;outline:none;width:100%;padding:.7rem .9rem;font-size:14px;transition:border-color .25s,background .25s,box-shadow .25s}.admin-textarea{resize:vertical;min-height:96px;line-height:1.5}.admin-input:hover,.admin-textarea:hover{background:#ffffff0f;border-color:#a5b4fc4d}.admin-input:focus,.admin-textarea:focus{background:#ffffff12;border-color:#a5b4fcb3;box-shadow:0 0 0 3px #6366f12e}.admin-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.admin-btn{letter-spacing:.01em;cursor:pointer;border-radius:.7rem;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:13px;font-weight:600;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s,opacity .25s;display:inline-flex}.admin-btn-ghost{color:#d4d4d8;background:#ffffff0a;border:1px solid #ffffff1a}.admin-btn-ghost:hover{color:#fff;background:#ffffff14;border-color:#fff3}.admin-btn-ghost:disabled{opacity:.45;cursor:not-allowed}.admin-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border:1px solid #a5b4fc73;box-shadow:0 6px 18px -8px #6366f199}.admin-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px -10px #a855f7b3}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{vertical-align:-2px;border:2px solid #ffffff59;border-top-color:#fff;border-radius:9999px;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cert-upload{-webkit-backdrop-filter:blur(10px);background:radial-gradient(circle,#6366f114,#0000 70%),#ffffff0a;border:1px dashed #a5b4fc59;border-radius:1rem;align-items:center;width:100%;transition:border-color .3s,background .3s,box-shadow .3s,transform .3s;display:flex;position:relative;overflow:hidden}.cert-upload--empty{cursor:pointer;gap:14px;min-height:110px;padding:18px}.cert-upload--empty:hover{background:radial-gradient(circle,#6366f129,#0000 70%),#ffffff0f;border-color:#a5b4fca6;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #6366f140,0 12px 30px -18px #6366f180}.cert-upload--dragover{background:radial-gradient(circle,#6366f147,#0000 70%),#6366f11f;border-style:solid;border-color:#c7d2fee6;transform:translateY(-2px)scale(1.005);box-shadow:inset 0 0 0 2px #6366f173,0 18px 40px -18px #6366f199}.cert-upload--dragover .cert-upload-icon{background:#6366f166;border-color:#c7d2feb3;transform:scale(1.08)}.cert-upload--dragover .cert-upload-cta{color:#fff;background:#6366f1f2;border-color:#c7d2fed9}.cert-upload-icon{background:#6366f11f;border:1px solid #a5b4fc40;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:background .3s,transform .3s;display:flex}.cert-upload--empty:hover .cert-upload-icon{background:#6366f138;transform:scale(1.04)}.cert-upload-title{color:#fff;letter-spacing:0;font-size:13.5px;font-weight:600}.cert-upload-sub{color:#a1a1aa;letter-spacing:.01em;font-size:11px}.cert-upload-cta{letter-spacing:.04em;text-transform:uppercase;color:#c7d2fe;background:#6366f12e;border:1px solid #a5b4fc59;border-radius:9999px;align-items:center;gap:6px;margin-left:auto;padding:7px 13px;font-size:11.5px;font-weight:600;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.cert-upload--empty:hover .cert-upload-cta{color:#fff;background:#6366f1d9;border-color:#c7d2feb3}.cert-upload--filled{background:#0d0d1099;border-style:solid;border-color:#ffffff1a;flex-direction:column;align-items:stretch;gap:10px;padding:10px}.cert-upload-preview{object-fit:cover;border:1px solid #ffffff14;border-radius:.75rem;width:100%;max-height:220px;display:block}.cert-upload-actions{justify-content:flex-end;display:flex}.cert-upload-remove{color:#fca5a5;cursor:pointer;background:#ef44441f;border:1px solid #ef444459;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.cert-upload-remove:hover{color:#fff;background:#ef4444d9;border-color:#fecaca99}.form-field{background:#ffffff05;border:1px solid #ffffff14;transition:all .25s}.form-field:focus{background:#6366f10f;border-color:#818cf880;outline:none;box-shadow:0 0 0 4px #6366f11f}.portfolio-public{background:linear-gradient(#030303e0 0%,#030303 36%),radial-gradient(circle at 16% 8%,#22d3ee24,#0000 30%),radial-gradient(circle at 86% 18%,#ec48991f,#0000 26%),radial-gradient(circle at 48% 68%,#6366f129,#0000 34%);position:relative}.portfolio-grid-bg{z-index:0;pointer-events:none;opacity:.36;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 82%);mask-image:linear-gradient(#000 0%,#0000 82%)}.public-nav{-webkit-backdrop-filter:blur(20px);background:linear-gradient(#030303e0,#030303a3);border-bottom:1px solid #ffffff14}.brand-mark{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative;box-shadow:0 16px 45px -24px #22d3eecc}.brand-mark:after{content:"";border-radius:inherit;opacity:0;z-index:-1;background:linear-gradient(135deg,#22d3ee52,#ec48992e);transition:opacity .3s;position:absolute;inset:-1px}.group:hover .brand-mark:after{opacity:1}.public-nav-link{transition:background .25s,color .25s,transform .25s}.public-nav-link:hover{color:#fff;background:#ffffff14;transform:translateY(-1px)}.public-hero{align-items:center;min-height:min(920px,100vh);display:flex;position:relative}.public-hero:after{content:"";background:linear-gradient(90deg,#0000,#7dd3fc70,#ec48995c,#0000);width:min(980px,100% - 48px);height:1px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero-title{letter-spacing:0;max-width:780px;font-size:7rem;line-height:.92}.public-portrait-wrap{justify-content:center;align-items:center;min-height:520px;display:flex;position:relative}.portrait-orbit{aspect-ratio:1;filter:drop-shadow(0 28px 70px #22d3ee1f);background:conic-gradient(from 140deg,#0000,#22d3ee3d,#0000,#ec489938,#0000);border:1px solid #ffffff14;border-radius:36px;width:min(82vw,450px);animation:12s linear infinite portrait-orbit;position:absolute}@keyframes portrait-orbit{to{transform:rotate(360deg)}}.portrait-shell{aspect-ratio:.86;background:#ffffff0a;border:1px solid #ffffff24;border-radius:32px;width:min(76vw,390px);position:relative;overflow:hidden;box-shadow:0 40px 100px -44px #22d3ee73,inset 0 0 0 1px #ffffff0a}.portrait-shell:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#00000057);position:absolute;inset:0}.hero-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(92%,440px);display:grid;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hero-stat{color:#a1a1aa;-webkit-backdrop-filter:blur(14px);background:#03030394;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:70px;font-size:11px;display:flex}.hero-stat svg{color:#7dd3fc}.social-chip,.project-link,.contact-link{align-items:center;gap:8px;transition:color .25s,border-color .25s,background .25s,transform .25s;display:inline-flex}.social-chip{color:#d4d4d8;background:#ffffff09;border:1px solid #ffffff1a;border-radius:999px;min-height:42px;padding:0 16px;font-size:13px}.social-logo{fill:currentColor;flex:none;width:17px;height:17px}.social-chip:hover,.project-link:hover,.contact-link:hover{color:#fff;background:#7dd3fc14;border-color:#7dd3fc61;transform:translateY(-1px)}.section-band{background:linear-gradient(#ffffff06,#ffffff03),#0a0a0c9e;border-block:1px solid #ffffff12;position:relative}.section-band:before{content:"";pointer-events:none;opacity:.45;background-image:radial-gradient(#7dd3fc14 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0}.about-image-shell{background:#ffffff0e;border:1px solid #7dd3fc33;border-radius:30px;max-height:760px;position:relative;overflow:hidden;box-shadow:0 36px 90px -52px #ec489980,inset 0 0 0 1px #ffffff0a}.about-image-shell:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#030303b8);position:absolute;inset:0}.about-copy,.feature-panel,.skill-card,.contact-form,.contact-copy{-webkit-backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff12,#ffffff05),#0d0d12e6;border:1px solid #7dd3fc2e;border-radius:24px;position:relative;box-shadow:0 24px 70px -48px #000000e6,inset 0 0 0 1px #ffffff09}.about-copy{padding:clamp(24px,4vw,38px)}.feature-panel,.skill-card,.contact-form,.contact-copy{padding:clamp(22px,3vw,34px)}.project-card-premium{background:linear-gradient(145deg,#ffffff12,#ffffff05),#0f0f14eb;border:1px solid #7dd3fc2e;border-radius:24px;flex-direction:column;min-height:100%;transition:transform .35s,border-color .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px -58px #22d3eeb8,inset 0 0 0 1px #ffffff09}.project-card-premium:before{content:"";background:linear-gradient(90deg,#0000,#7dd3fcb3,#ec489973,#0000);height:1px;position:absolute;inset:0 0 auto}.project-card-premium:hover{border-color:#7dd3fc52;transform:translateY(-6px);box-shadow:0 38px 100px -56px #7dd3fcbd}.project-card-media{aspect-ratio:16/9;background:#0a0a0c;border-bottom:1px solid #ffffff14;overflow:hidden}.project-card-media img{object-fit:cover;filter:saturate(.92)contrast(1.05);width:100%;height:100%;transition:transform .6s cubic-bezier(.23,1,.32,1),filter .6s}.project-card-premium:hover .project-card-media img{filter:saturate(1.1)contrast(1.08);transform:scale(1.045)}.highlight-chip{color:#bae6fd;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;background:#7dd3fc14;border:1px solid #7dd3fc38;border-radius:999px;padding:3px 10px;font-size:10px}.project-link{color:#d4d4d8;border:1px solid #ffffff1a;border-radius:999px;min-height:38px;padding:0 14px;font-size:13px}.project-link-primary{color:#fff;background:#7dd3fc14;border-color:#7dd3fc42}.projects-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.projects-mobile-controls{display:none}.project-arrow{color:#fff;background:linear-gradient(145deg,#ffffff13,#ffffff05),#0f0f14e6;border:1px solid #7dd3fc38;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .2s,border-color .2s,background .2s;display:inline-flex;box-shadow:0 16px 42px -30px #7dd3fcb3}.project-arrow:hover{background:#7dd3fc1f;border-color:#7dd3fc80;transform:translateY(-1px)}.skill-card{background:radial-gradient(circle at 20% 0,#22d3ee1f,#0000 34%),linear-gradient(145deg,#ffffff13,#ffffff06),#0f0f14eb;overflow:hidden}.skill-card:before{content:"";background:linear-gradient(90deg,#22d3ee99,#ec489966,#0000);height:1px;position:absolute;inset:0 0 auto}.skill-cloud{flex-wrap:wrap;gap:10px;display:flex}.skill-token{color:#e4e4e7;background:linear-gradient(135deg,#ffffff13,#ffffff07),#ffffff0a;border:1px solid #ffffff24;border-radius:999px;align-items:center;min-height:38px;padding:0 14px;font-size:13px;transition:border-color .25s,color .25s,background .25s,transform .25s;display:inline-flex;box-shadow:0 10px 30px -24px #7dd3fca6}.skill-token:hover{color:#fff;background:linear-gradient(135deg,#7dd3fc24,#ec489914),#ffffff0f;border-color:#7dd3fc6b;transform:translateY(-2px)}.nav-heart-btn{color:#d4d4d8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:border-color .25s,background .25s,box-shadow .25s;display:inline-flex;position:relative}.nav-heart-btn:hover{background:#fb718514;border-color:#fb718573;box-shadow:0 0 20px -6px #fb718559}.nav-heart-btn:focus-visible{outline-offset:2px;outline:2px solid #818cf8}.nav-heart-btn:disabled{opacity:.55;cursor:default}.nav-heart-icon{justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.nav-heart-filled{color:#fb7185;filter:drop-shadow(0 0 6px #fb71858c)}.contact-link{color:#d4d4d8;border-radius:999px;width:fit-content;padding:10px 13px}.contact-form{background:linear-gradient(145deg,#7dd3fc18,#ec48990b),#0f0f14eb}.contact-input{color:#fff;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:16px;outline:none;width:100%;min-height:56px;padding:0 18px;transition:border-color .25s,background .25s,box-shadow .25s}.contact-input::placeholder{color:#52525b}.contact-input:hover{background:#fff1;border-color:#ffffff29}.contact-input:focus{background:#7dd3fc0f;border-color:#7dd3fca3;box-shadow:0 0 0 4px #7dd3fc1f}@media (width<=1024px){.hero-title{font-size:5.5rem}.public-hero{min-height:auto;padding-top:7rem;padding-bottom:5rem}.hero-stat-strip{margin-top:16px;position:relative;bottom:auto;left:auto;transform:none}}@media (width<=768px){.public-nav>div{height:68px;padding-inline:1rem}.brand-mark{border-radius:14px;width:40px;height:40px}.portfolio-grid-bg{opacity:.24;background-size:42px 42px}.portfolio-public .section{padding:4.75rem 1rem}.public-hero{min-height:calc(100svh - 4px);padding-top:4.75rem;padding-bottom:1.5rem}.public-hero .mx-auto.grid{align-content:start;gap:.7rem}.public-hero .mx-auto.grid>.hero-copy{display:contents}.hero-status{order:1;width:fit-content;margin-inline:auto;margin-bottom:0!important}.hero-title{text-align:center;order:2;margin-top:.75rem}.public-portrait-wrap{order:3;grid-template-columns:minmax(150px,178px) minmax(112px,132px);justify-content:center;align-items:center;gap:.55rem;margin-top:0;margin-bottom:.1rem;display:grid}.hero-subtitle{text-align:center;order:4;max-width:100%!important;margin-top:0!important}.hero-actions{order:5;margin-top:1rem!important}.hero-socials{order:6;margin-top:.95rem!important}.public-hero p{font-size:1rem;line-height:1.58}.public-hero .btn-primary,.public-hero .btn-secondary{justify-content:center;width:100%}.social-chip{flex:calc(50% - .5rem);justify-content:center;min-width:0;padding-inline:12px}.public-portrait-wrap{min-height:214px}.portrait-orbit{border-radius:24px;width:min(76vw,282px)}.portrait-shell{border-radius:22px;width:min(44vw,178px)}.hero-stat-strip{grid-template-columns:1fr;gap:5px;width:100%;margin-top:0}.hero-stat{text-align:center;border-radius:13px;min-height:58px;padding:7px 3px;font-size:9px;line-height:1.2}.hero-stat span:nth-child(2){font-size:1rem}.title-gradient{line-height:1.08}.about-image-shell{aspect-ratio:4/5;border-radius:22px;max-height:520px}.about-copy,.feature-panel,.skill-card,.contact-form,.contact-copy{border-radius:20px;padding:20px}.project-card-premium{border-radius:20px}.projects-mobile-controls{justify-content:space-between;align-items:center;gap:.75rem;margin:-.3rem 0 1rem;display:flex}.projects-showcase{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1rem;margin-inline:-1rem;padding:0 1rem .65rem;scroll-padding-inline:1rem;display:flex;overflow-x:auto}.projects-showcase::-webkit-scrollbar{display:none}.projects-showcase .project-card-premium{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 calc(100vw - 2rem);max-width:calc(100vw - 2rem)}.project-card-premium>div:last-child{padding:20px}.project-card-premium h3{font-size:1.28rem;line-height:1.25}.project-link{flex:auto;justify-content:center}.skill-card{min-height:auto}.skill-cloud{gap:8px}.skill-token{min-height:36px;padding-inline:12px;font-size:12px}#certificates{padding:4.75rem 1rem}#certificates .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.cert-card{border-radius:16px}.cert-card-body{padding:9px 10px 8px}.cert-card-title{font-size:12px}.contact-link{background:#ffffff09;border:1px solid #ffffff17;width:100%}.contact-input{border-radius:14px;min-height:54px;font-size:16px}}@media (width<=640px){.hero-title{font-size:3rem;line-height:.98}.public-portrait-wrap{grid-template-columns:minmax(136px,162px) minmax(104px,122px);min-height:204px}.portfolio-public .section{padding-top:4.25rem;padding-bottom:4.25rem}.public-hero{padding-top:4.55rem;padding-bottom:1.25rem}.title-gradient{font-size:2.35rem}.about-copy p:first-child{font-size:1.35rem;line-height:1.35}.feature-panel h3{font-size:1.35rem}.timeline-item{padding-left:1.5rem}.timeline-item:before{left:6px}.skill-card>div:first-child{flex-direction:column;align-items:flex-start;gap:12px}.contact-copy .mb-12{margin-bottom:1.5rem}footer .mx-auto{text-align:center}}@media (width<=420px){.hero-title{font-size:2.52rem}.public-hero p{font-size:.96rem}.portrait-shell{width:min(43vw,154px)}.portrait-orbit{width:min(78vw,248px)}.hero-stat{min-height:54px;font-size:8.8px}.hero-stat-strip{width:100%}#certificates .grid{grid-template-columns:1fr}.social-chip{flex-basis:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.admin-shell{--admin-bg:#090b10;--admin-sidebar:#0d1016;--admin-surface:#11151c;--admin-surface-raised:#151a22;--admin-surface-subtle:#0e1218;--admin-border:#252b36;--admin-border-strong:#343c49;--admin-text:#f4f7fb;--admin-text-secondary:#b3bdca;--admin-text-muted:#7f8a99;--admin-accent:#67e8f9;--admin-accent-strong:#22d3ee;--admin-accent-soft:#22d3ee1a;--admin-violet:#a78bfa;--admin-danger:#fb7185;--admin-danger-soft:#f43f5e1a;min-height:100dvh;color:var(--admin-text-secondary);background:var(--admin-bg);display:flex;position:relative;overflow:hidden}.admin-shell:before{display:none}.admin-skip-link{z-index:200;border:1px solid var(--admin-accent-strong);color:#061014;background:var(--admin-accent);border-radius:8px;padding:.55rem .75rem;font-size:.78rem;font-weight:700;transition:transform .12s;position:fixed;top:.6rem;left:.6rem;transform:translateY(-160%)}.admin-skip-link:focus{transform:translateY(0)}.admin-shell *,.admin-modal-backdrop *,.admin-modal-backdrop :before,.admin-modal-backdrop :after{box-sizing:border-box}.admin-shell :where(a,button,input,textarea,select):focus-visible,.admin-modal-backdrop :where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--admin-accent-strong,#22d3ee);outline-offset:2px}.admin-desktop-sidebar{z-index:30;flex:0 0 252px;width:252px;height:100dvh;min-height:0;transition:width .16s,flex-basis .16s;position:relative}.admin-sidebar{border-right:1px solid var(--admin-border);background:var(--admin-sidebar);-webkit-backdrop-filter:none;flex-direction:column;height:100%;min-height:0;display:flex}.admin-sidebar-brand{border-bottom:1px solid var(--admin-border);align-items:center;gap:.75rem;min-height:64px;padding:.75rem 1rem;display:flex}.admin-sidebar-brand-mark{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:inline-grid;overflow:hidden}.admin-sidebar-logo{object-fit:contain;width:28px;height:28px;display:block}.admin-sidebar-brand-copy{flex:1;min-width:0}.admin-sidebar-title{color:var(--admin-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:650;line-height:1.2;overflow:hidden}.admin-sidebar-subtitle{color:var(--admin-text-muted);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.67rem;font-weight:550;line-height:1.2;overflow:hidden}.admin-sidebar-collapse{width:32px;height:32px;color:var(--admin-text-muted);border:1px solid #0000;border-radius:9px;flex:0 0 32px;justify-content:center;align-items:center;transition:color .14s,background-color .14s,border-color .14s;display:inline-flex}.admin-sidebar-collapse:hover{color:var(--admin-text);border-color:var(--admin-border);background:var(--admin-surface-raised)}.admin-nav{scrollbar-width:thin;scrollbar-color:var(--admin-border-strong) transparent;flex-direction:column;flex:1;gap:.25rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.admin-nav-label{color:var(--admin-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:.35rem .6rem .3rem;font-size:.67rem;font-weight:650}.admin-nav-link{width:100%;min-height:42px;color:var(--admin-text-secondary);text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:.7rem;padding:0 .75rem;font-size:.84rem;font-weight:550;transition:color .14s,background-color .14s,border-color .14s;display:flex;position:relative}.admin-nav-link svg{color:var(--admin-text-muted);flex:none}.admin-nav-link:hover{border-color:var(--admin-border);background:var(--admin-surface);color:var(--admin-text);transform:none}.admin-nav-link:hover svg{color:var(--admin-text-secondary)}.admin-nav-link-active{background:var(--admin-accent-soft);box-shadow:none;color:var(--admin-text);border-color:#22d3ee38}.admin-nav-link-active:before{content:"";background:var(--admin-accent-strong);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;left:-1px}.admin-nav-link-active svg{color:var(--admin-accent)}.admin-nav-link-danger,.admin-nav-link-danger svg{color:#fda4af}.admin-nav-link-danger:hover{background:var(--admin-danger-soft);color:#fecdd3;border-color:#fb718533}.admin-nav-link:disabled{cursor:wait;opacity:.55}.admin-sidebar-actions{border-top:1px solid var(--admin-border);flex-direction:column;flex:none;gap:.25rem;padding:.75rem;display:flex}.admin-shell-collapsed .admin-desktop-sidebar{flex-basis:76px;width:76px}.admin-shell-collapsed .admin-desktop-sidebar .admin-sidebar-brand{justify-content:center;padding-inline:.7rem}.admin-shell-collapsed .admin-desktop-sidebar .admin-sidebar-brand-copy,.admin-shell-collapsed .admin-desktop-sidebar .admin-nav-link span,.admin-shell-collapsed .admin-desktop-sidebar .admin-nav-label{display:none}.admin-shell-collapsed .admin-desktop-sidebar .admin-nav-link{justify-content:center;padding:0}.admin-shell-collapsed .admin-desktop-sidebar .admin-sidebar-collapse{z-index:2;border-color:var(--admin-border);background:var(--admin-surface-raised);position:absolute;top:78px;right:-16px}.admin-main{z-index:1;scrollbar-width:thin;scrollbar-color:var(--admin-border-strong) transparent;flex:1;min-width:0;height:100dvh;max-height:none;padding:1.5rem clamp(1.5rem,2.1vw,2rem);position:relative;overflow-y:auto}.admin-mobile-topbar,.admin-mobile-sidebar,.admin-mobile-overlay{display:none}.admin-page{width:100%;max-width:1320px;margin:0 auto}.admin-page-narrow{max-width:980px;margin-inline:0}.admin-page-header{justify-content:space-between;align-items:center;gap:1.25rem;min-height:48px;margin-bottom:1.1rem;display:flex}.admin-page-heading{min-width:0}.admin-title-row{align-items:center;gap:.65rem;display:flex}.admin-kicker{color:var(--admin-accent);font-family:var(--font-sans);letter-spacing:.06em;text-transform:none;margin:0 0 .2rem;font-size:.68rem;font-weight:650}.admin-page-title{color:var(--admin-text);font-family:var(--font-heading);letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,2.2vw,1.8rem);font-weight:650;line-height:1.12}.admin-record-count{border:1px solid var(--admin-border);min-width:25px;height:24px;color:var(--admin-text-muted);background:var(--admin-surface);border-radius:999px;justify-content:center;align-items:center;padding:0 .48rem;font-size:.72rem;font-weight:650;display:inline-flex}.admin-page-description{max-width:680px;color:var(--admin-text-muted);margin:.32rem 0 0;font-size:.79rem;line-height:1.45}.admin-header-actions{flex:none;align-items:center;gap:.55rem;display:flex}.admin-primary-action,.admin-secondary-action{min-height:38px;color:var(--admin-text);border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.79rem;font-weight:650;line-height:1;transition:border-color .14s,background-color .14s,opacity .14s;display:inline-flex}.admin-primary-action{box-shadow:none;background:linear-gradient(135deg,#0891b2,#6d5bd0);border:1px solid #67e8f95c}.admin-primary-action:hover{filter:brightness(1.06);box-shadow:none;border-color:#a5f3fc94;transform:none}.admin-secondary-action{border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text-secondary)}.admin-secondary-action:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-primary-action:disabled,.admin-secondary-action:disabled{cursor:not-allowed;opacity:.55}.admin-surface,.admin-content-panel,.admin-table-shell,.admin-error-panel,.admin-stat-card{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 12px 30px -26px #000000d9}.admin-content-panel:before,.admin-table-shell:before,.admin-stat-card:before{display:none}.admin-content-panel{padding:1.15rem}.admin-error-panel{text-align:left;padding:1.5rem}.admin-loading{min-height:42vh;color:var(--admin-text-secondary);justify-content:center;align-items:center;font-size:.84rem;font-weight:550;display:flex}.admin-loading:before,.admin-spinner{border:2px solid #67e8f933;border-top-color:var(--admin-accent-strong,#22d3ee);border-radius:999px;flex:none;width:16px;height:16px;animation:.7s linear infinite admin-spin;display:inline-block}.admin-loading:before{content:"";margin-right:.55rem}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-dashboard{min-height:0}.admin-stat-grid,.admin-dashboard-counts{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;display:grid}.admin-stat-card{flex-direction:column;justify-content:space-between;min-height:96px;padding:.9rem;transition:border-color .14s,background-color .14s;display:flex}.admin-stat-card:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-raised);transform:none}.admin-stat-card-top{align-items:center;gap:.55rem;display:flex}.admin-stat-icon{background:var(--admin-accent-soft);width:30px;height:30px;color:var(--admin-accent);border:1px solid #67e8f92e;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.admin-stat-label{color:var(--admin-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:550;line-height:1.25;overflow:hidden}.admin-stat-value{color:var(--admin-text);font-family:var(--font-heading);letter-spacing:-.035em;font-size:1.65rem;font-weight:650;line-height:1}.admin-dashboard-section{margin-top:.85rem}.admin-dashboard-section-heading{justify-content:space-between;align-items:center;gap:1rem;min-height:31px;margin-bottom:.55rem;display:flex}.admin-dashboard-section-title{color:var(--admin-text);align-items:center;gap:.45rem;font-size:.82rem;font-weight:650;display:flex}.admin-dashboard-section-title svg{color:var(--admin-accent)}.admin-dashboard-analytics{grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);gap:.75rem;display:grid}.admin-appreciation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.admin-appreciation-card{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:11px;flex-direction:column;justify-content:space-between;min-height:105px;padding:.85rem;display:flex}.admin-appreciation-card-label{color:var(--admin-text-muted);align-items:center;gap:.45rem;font-size:.73rem;font-weight:550;display:flex}.admin-appreciation-card-label svg{color:var(--admin-accent)}.admin-appreciation-card-value{color:var(--admin-text);font-family:var(--font-heading);font-size:1.55rem;font-weight:650;line-height:1}.admin-chart-panel{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:12px;min-width:0;padding:.85rem .9rem .55rem}.admin-chart-header{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.2rem;display:flex}.admin-chart-title{color:var(--admin-text);font-size:.82rem;font-weight:650}.admin-chart-subtitle{color:var(--admin-text-muted);margin-top:.18rem;font-size:.7rem}.admin-chart{width:100%;height:204px}.admin-dashboard-message{border:1px solid var(--admin-border);min-height:222px;color:var(--admin-text-muted);background:var(--admin-surface);border-radius:12px;place-items:center;font-size:.8rem;display:grid}.admin-dashboard-message-error{color:#fda4af}.admin-collection{min-width:0}.admin-collection-page-compact{max-width:980px;margin-inline:0}.admin-data-toolbar{align-items:center;gap:.6rem;margin-bottom:.65rem;display:flex}.admin-search-field,.admin-search-control{flex:1;min-width:220px;max-width:360px;position:relative}.admin-search-icon{z-index:1;color:var(--admin-text-muted);pointer-events:none;position:absolute;top:50%;left:.72rem;transform:translateY(-50%)}.admin-search-field>svg{color:var(--admin-text-muted);pointer-events:none;position:absolute;top:50%;left:.72rem;transform:translateY(-50%)}.admin-search-input{border:1px solid var(--admin-border);width:100%;height:38px;color:var(--admin-text);background:var(--admin-surface);border-radius:10px;outline:0;padding:0 2.15rem;font-size:.78rem;transition:border-color .14s,background-color .14s,box-shadow .14s}.admin-search-clear{width:30px;height:30px;color:var(--admin-text-muted);border-radius:7px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.admin-search-clear:hover{color:var(--admin-text);background:var(--admin-surface-raised)}.admin-search-input::placeholder{color:var(--admin-text-muted)}.admin-search-input:focus{background:var(--admin-surface-raised);border-color:#22d3ee8c;box-shadow:0 0 0 3px #22d3ee17}.admin-filter-select,.admin-select{border:1px solid var(--admin-border);height:38px;color:var(--admin-text-secondary);background-color:var(--admin-surface);border-radius:10px;outline:0;padding:0 2rem 0 .72rem;font-size:.78rem}.admin-filter-control{align-items:center;gap:.45rem;display:flex}.admin-filter-label{color:var(--admin-text-muted);white-space:nowrap;font-size:.7rem}.admin-toolbar-result{color:var(--admin-text-muted);white-space:nowrap;margin-left:auto;font-size:.72rem}.admin-toolbar-summary{color:var(--admin-text-muted);white-space:nowrap;margin-left:auto;font-size:.7rem}.admin-table-shell{overflow:hidden}.admin-table-scroll{scrollbar-width:thin;scrollbar-color:var(--admin-border-strong) transparent;max-height:min(604px,100dvh - 244px);overflow:auto}.admin-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:680px;font-size:.79rem}.admin-table th{z-index:2;border:0;border-bottom:1px solid var(--admin-border);height:44px;color:var(--admin-text-muted);letter-spacing:.045em;text-align:left;text-transform:none;white-space:nowrap;background:#12161d;padding:0 .9rem;font-size:.68rem;font-weight:650;position:sticky;top:0}.admin-table td{height:56px;color:var(--admin-text-secondary);vertical-align:middle;border:0;border-bottom:1px solid #252b36bd;padding:.45rem .9rem}.admin-table tbody tr{transition:background-color .12s}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#ffffff06}.admin-table-actions-heading,.admin-table-actions-cell,.admin-actions-column{width:102px;text-align:right!important}.admin-row-actions{justify-content:flex-end;gap:.35rem;display:flex}.admin-cell-primary{color:var(--admin-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.admin-cell-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-column-primary{width:34%;font-weight:600;color:var(--admin-text)!important}.admin-column-year{width:105px}.admin-column-highlight,.admin-column-level,.admin-column-period{width:170px}.admin-column-url{width:48%}.admin-column-icon{width:130px}.admin-tag{border:1px solid var(--admin-border);max-width:100%;min-height:24px;color:var(--admin-text-secondary);background:var(--admin-surface-subtle);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;padding:.16rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex;overflow:hidden}.admin-tag-accent{color:#a5f3fc;background:var(--admin-accent-soft);border-color:#22d3ee33}.admin-cell-muted{color:var(--admin-text-muted)}.admin-url-text{color:var(--admin-text-secondary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-cell-secondary,.admin-cell-truncate{color:var(--admin-text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-cell-stack{flex-direction:column;gap:.16rem;min-width:0;display:flex}.admin-cell-inline{align-items:center;gap:.65rem;min-width:0;display:flex}.admin-icon-button,.admin-dialog-close,.admin-pagination-button{border:1px solid var(--admin-border);background:var(--admin-surface-subtle);width:36px;height:36px;color:var(--admin-text-secondary);border-radius:9px;flex:0 0 36px;justify-content:center;align-items:center;transition:border-color .14s,color .14s,background-color .14s;display:inline-flex}.admin-icon-button:hover,.admin-dialog-close:hover,.admin-pagination-button:hover:not(:disabled){border-color:var(--admin-border-strong);background:var(--admin-surface-raised);color:var(--admin-text);transform:none}.admin-icon-button-danger{color:#fda4af}.admin-icon-button-danger:hover{background:var(--admin-danger-soft);color:#fecdd3;border-color:#fb718547}.admin-badge{border:1px solid var(--admin-border);max-width:100%;min-height:24px;color:var(--admin-text-secondary);background:var(--admin-surface-subtle);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;padding:.18rem .52rem;font-size:.69rem;font-weight:600;line-height:1.2;display:inline-flex;overflow:hidden}.admin-badge-accent{color:#a5f3fc;background:var(--admin-accent-soft);border-color:#22d3ee33}.admin-level{align-items:center;gap:.45rem;min-width:100px;display:flex}.admin-level-indicator{align-items:center;gap:.5rem;min-width:112px;display:flex}.admin-level-track{background:var(--admin-border);border-radius:99px;width:62px;height:4px;overflow:hidden}.admin-level-fill{border-radius:inherit;background:var(--admin-accent-strong);height:100%}.admin-level-value{color:var(--admin-text-muted);font-variant-numeric:tabular-nums;font-size:.7rem}.admin-thumbnail{border:1px solid var(--admin-border);object-fit:cover;background:var(--admin-surface-subtle);border-radius:7px;flex:none;width:42px;height:34px}.admin-thumbnail-placeholder{border:1px solid var(--admin-border);width:42px;height:34px;color:var(--admin-text-muted);background:var(--admin-surface-subtle);border-radius:7px;flex:none;place-items:center;display:grid}.admin-empty-cell{height:auto!important;padding:0!important}.admin-empty-state{min-height:210px;color:var(--admin-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:1.5rem;display:flex}.admin-empty-state-compact{min-height:150px}.admin-empty-icon{border:1px solid var(--admin-border);background:var(--admin-surface-subtle);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.admin-empty-title{color:var(--admin-text-secondary);font-size:.84rem;font-weight:650}.admin-empty-description{max-width:360px;margin-top:.2rem;font-size:.75rem;line-height:1.45}.admin-empty-action{margin-top:.25rem}.admin-pagination{border-top:1px solid var(--admin-border);background:var(--admin-surface-subtle);justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:.4rem .7rem .4rem .9rem;display:flex}.admin-pagination-summary{color:var(--admin-text-muted);font-size:.72rem}.admin-pagination-summary strong{color:var(--admin-text-secondary);font-weight:600}.admin-pagination-controls{align-items:center;gap:.45rem;display:flex}.admin-pagination-button{flex-basis:32px;width:32px;height:32px}.admin-pagination-button:disabled{cursor:not-allowed;opacity:.35}.admin-pagination-page{min-width:52px;color:var(--admin-text-muted);text-align:center;font-size:.7rem}.admin-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);background:#030508c7;justify-content:center;align-items:center;padding:1rem;animation:.14s both admin-fade-in;display:flex;position:fixed;inset:0}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}.admin-modal-panel{--admin-surface:#11151c;--admin-surface-raised:#171c24;--admin-surface-subtle:#0e1218;--admin-border:#29313d;--admin-border-strong:#3a4554;--admin-text:#f4f7fb;--admin-text-secondary:#b8c1cd;--admin-text-muted:#818d9d;--admin-accent:#67e8f9;--admin-accent-strong:#22d3ee;--admin-danger:#fb7185;--admin-danger-soft:#f43f5e1a;border:1px solid var(--admin-border);width:min(100%,620px);max-height:min(90dvh,760px);color:var(--admin-text-secondary);background:var(--admin-surface);border-radius:12px;outline:0;padding:1rem;animation:.16s both admin-dialog-in;position:relative;overflow-y:auto;box-shadow:0 28px 80px -30px #000000f2}.admin-modal-panel:before{display:none}.admin-modal-panel-sm{width:min(100%,430px)}.admin-modal-panel-md{width:min(100%,620px)}.admin-modal-panel-lg{width:min(100%,820px)}@keyframes admin-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-modal-header{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:flex-start;gap:1rem;margin:-.1rem -.1rem .95rem;padding:.1rem .1rem .8rem;display:flex}.admin-modal-title{color:var(--admin-text);font-family:var(--font-heading);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:650;display:block}.admin-modal-title:before{display:none}.admin-modal-description{max-width:600px;color:var(--admin-text-muted);margin-top:.25rem;font-size:.74rem;line-height:1.45}.admin-dialog-close{flex-basis:34px;width:34px;height:34px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.admin-form-section{border:0;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:0;display:grid}.admin-form-section+.admin-form-section{border-top:1px solid var(--admin-border);margin-top:.35rem;padding-top:.9rem}.admin-form-section-title{width:100%;color:var(--admin-text);grid-column:1/-1;margin-bottom:-.15rem;padding:0;font-size:.76rem;font-weight:650}.admin-form-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.admin-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.admin-field-full,.admin-field-wide{grid-column:1/-1}.admin-field-label{color:var(--admin-text-secondary);letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:600}.admin-required{color:#fda4af}.admin-field-required{color:#fda4af;margin-left:.2rem}.admin-field-help,.admin-character-count{color:var(--admin-text-muted);font-size:.68rem;line-height:1.4}.admin-field-meta{justify-content:space-between;gap:.75rem;display:flex}.admin-character-count{white-space:nowrap;margin-left:auto}.admin-input,.admin-textarea,.admin-select{border:1px solid var(--admin-border);width:100%;color:var(--admin-text);background:var(--admin-surface-subtle);font:inherit;border-radius:9px;outline:0;font-size:.79rem;transition:border-color .14s,background-color .14s,box-shadow .14s}.admin-input,.admin-select{min-height:40px;padding:0 .7rem}.admin-textarea{resize:vertical;min-height:88px;padding:.65rem .7rem;line-height:1.5}.admin-textarea-compact{min-height:72px}.admin-input::placeholder,.admin-textarea::placeholder{color:#626e7c}.admin-input:hover,.admin-textarea:hover,.admin-select:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-raised)}.admin-input:focus,.admin-textarea:focus,.admin-select:focus{background:var(--admin-surface-raised);border-color:#22d3ee8c;box-shadow:0 0 0 3px #22d3ee17}.admin-input:disabled,.admin-textarea:disabled,.admin-select:disabled{cursor:not-allowed;opacity:.58}.admin-form-wide{max-width:none}.admin-actions,.admin-dialog-actions{border-top:1px solid var(--admin-border);grid-column:1/-1;justify-content:flex-end;gap:.55rem;margin-top:.25rem;padding-top:.85rem;display:flex}.admin-btn{letter-spacing:0;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.42rem;min-height:38px;padding:0 .85rem;font-size:.77rem;font-weight:650;transition:border-color .14s,background-color .14s,color .14s,opacity .14s;display:inline-flex}.admin-btn-ghost{border-color:var(--admin-border);background:var(--admin-surface-subtle);color:var(--admin-text-secondary)}.admin-btn-ghost:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-btn-primary{color:#fff;box-shadow:none;background:#147d91;border-color:#67e8f94d}.admin-btn-primary:hover{box-shadow:none;background:#178ba1;transform:none}.admin-btn-danger{color:#fff;background:#9f2840;border-color:#fb718557}.admin-btn-danger:hover{background:#b42d49}.admin-btn:disabled{cursor:not-allowed;opacity:.52;transform:none}.admin-confirm-note{color:#fda4af;background:var(--admin-danger-soft);border:1px solid #fb718538;border-radius:9px;align-items:center;gap:.55rem;padding:.7rem;font-size:.74rem;display:flex}.admin-editor-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.admin-site-content-form{min-width:0}.admin-site-content-panel{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:.9rem;padding:.75rem;display:grid;overflow:visible}.admin-section-tabs{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:12px;flex-direction:column;gap:.25rem;padding:.4rem;display:flex;position:sticky;top:0}.admin-section-tab{min-height:38px;color:var(--admin-text-muted);text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:.55rem;padding:0 .65rem;font-size:.76rem;font-weight:600;display:flex}.admin-section-tab:hover{background:var(--admin-surface-raised);color:var(--admin-text-secondary)}.admin-section-tab-active{background:var(--admin-accent-soft);color:var(--admin-text);border-color:#22d3ee33}.admin-section-tab-active svg{color:var(--admin-accent)}.admin-editor-panel{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:12px;min-width:0}.admin-section-panel{border:1px solid var(--admin-border);background:var(--admin-surface-subtle);border-radius:10px;min-width:0;overflow:hidden}.admin-section-panel:focus{outline:none}.admin-section-heading{border-bottom:1px solid var(--admin-border);padding:.85rem .9rem}.admin-section-heading h2{color:var(--admin-text);margin:0;font-size:.88rem;font-weight:650}.admin-section-heading p{color:var(--admin-text-muted);margin:.2rem 0 0;font-size:.71rem;line-height:1.4}.admin-section-panel>.admin-form-grid{padding:.9rem}.admin-field-label-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.admin-field-description{color:var(--admin-text-muted);font-size:.68rem;line-height:1.4}.admin-editor-panel-header{border-bottom:1px solid var(--admin-border);padding:.9rem 1rem}.admin-editor-panel-title{color:var(--admin-text);font-size:.9rem;font-weight:650}.admin-editor-panel-description{color:var(--admin-text-muted);margin-top:.2rem;font-size:.72rem}.admin-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem;display:grid}.admin-sticky-actions{z-index:5;border:1px solid var(--admin-border);-webkit-backdrop-filter:blur(10px);background:#11151cf5;border-radius:11px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding:.6rem .7rem .6rem .9rem;display:flex;position:sticky;bottom:-1px;box-shadow:0 -12px 28px -24px #000000e6}.admin-sticky-form-actions{z-index:5;border:1px solid var(--admin-border);-webkit-backdrop-filter:blur(10px);background:#11151cf5;border-radius:11px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.7rem;padding:.55rem .65rem .55rem .85rem;display:flex;position:sticky;bottom:-1px;box-shadow:0 -12px 28px -24px #000000e6}.admin-save-note{color:var(--admin-text-muted);font-size:.7rem}.admin-sticky-status{color:var(--admin-text-muted);font-size:.72rem}.admin-sticky-buttons{gap:.5rem;display:flex}.admin-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-asset-card{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:12px;grid-template-columns:minmax(130px,.9fr) minmax(180px,1.1fr);gap:.9rem;min-width:0;min-height:220px;padding:.85rem;display:grid}.admin-asset-visual,.admin-asset-card-preview{border:1px solid var(--admin-border);background-color:#10141a;background-image:linear-gradient(45deg,#151a22 25%,#0000 25%),linear-gradient(-45deg,#151a22 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#151a22 75%),linear-gradient(-45deg,#0000 75%,#151a22 75%),none;background-position:0 0,0 6px,6px -6px,-6px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:12px 12px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;border-radius:9px;place-items:center;min-height:132px;padding:.55rem;display:grid;overflow:hidden}.admin-asset-image{object-fit:contain;width:100%;height:128px}.admin-asset-image-cover{object-fit:cover}.admin-asset-placeholder{color:var(--admin-text-muted);flex-direction:column;align-items:center;gap:.45rem;font-size:.7rem;display:flex}.admin-asset-content,.admin-asset-card-content{flex-direction:column;min-width:0;display:flex}.admin-asset-card-heading{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.admin-asset-card-heading h2{color:var(--admin-text);margin:0;font-size:.84rem;font-weight:650}.admin-asset-card-heading p{color:var(--admin-text-muted);margin:.18rem 0 0;font-size:.68rem;line-height:1.35}.admin-asset-state{border:1px solid var(--admin-border);color:var(--admin-text-muted);background:var(--admin-surface-subtle);white-space:nowrap;border-radius:999px;flex:none;padding:.18rem .45rem;font-size:.63rem;font-weight:650}.admin-asset-state-ready{color:#86efac;background:#22c55e14;border-color:#4ade8033}.admin-asset-recommendation{color:var(--admin-text-muted);margin:.65rem 0 0;font-size:.66rem;line-height:1.35}.admin-asset-name{color:var(--admin-text);font-size:.84rem;font-weight:650}.admin-asset-spec{color:var(--admin-text-muted);margin-top:.2rem;font-size:.68rem;line-height:1.4}.admin-asset-status{color:var(--admin-text-muted);align-items:center;gap:.4rem;margin-top:.75rem;font-size:.69rem;display:flex}.admin-asset-status-ready svg{color:#4ade80}.admin-asset-status-empty svg{color:var(--admin-text-muted)}.admin-asset-url{color:var(--admin-text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:.45rem;font-size:.63rem;display:block;overflow:hidden}.admin-asset-card-actions{justify-content:space-between;align-items:center;gap:.55rem;margin-top:auto;padding-top:.7rem;display:flex}.admin-asset-upload-button{border:1px solid var(--admin-border);min-height:36px;color:var(--admin-text-secondary);background:var(--admin-surface-subtle);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:0 .7rem;font-size:.71rem;font-weight:600;display:inline-flex}.admin-asset-upload-button:hover{border-color:var(--admin-border-strong);color:var(--admin-text);background:var(--admin-surface-raised)}.admin-asset-upload-button-disabled{cursor:wait;opacity:.58}.admin-asset-upload-status{min-width:0;color:var(--admin-text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;font-size:.65rem;display:inline-flex;overflow:hidden}.admin-asset-upload-status-success{color:#86efac}.admin-asset-upload-status-error{color:#fda4af}.admin-asset-upload-status-uploading{color:var(--admin-accent)}.admin-asset-card .admin-asset-preview{object-fit:contain;background:0 0;border:0;border-radius:7px;width:100%;max-width:100%;height:128px;margin:0;padding:0;display:block}.admin-asset-card .admin-asset-preview-portrait,.admin-asset-card .admin-asset-preview-hero{object-fit:cover}.admin-asset-upload{margin-top:auto;padding-top:.8rem}.admin-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-file-button{border:1px solid var(--admin-border);min-height:36px;color:var(--admin-text-secondary);background:var(--admin-surface-subtle);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.74rem;font-weight:600;display:inline-flex}.admin-file-button:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-raised);color:var(--admin-text)}.admin-file-button-disabled{cursor:wait;opacity:.6}.admin-modal-panel .cert-upload{min-height:132px;box-shadow:none;border-radius:10px}.admin-modal-panel .cert-upload--empty{border-color:var(--admin-border);background:var(--admin-surface-subtle)}.admin-modal-panel .cert-upload--filled{background:var(--admin-surface-subtle)}.admin-modal-panel .cert-upload-preview{max-height:190px}@media (width<=1180px){.admin-stat-grid,.admin-dashboard-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stat-card{min-height:88px}.admin-dashboard-analytics{grid-template-columns:minmax(245px,.8fr) minmax(0,1.2fr)}.admin-asset-card{grid-template-columns:120px minmax(0,1fr)}}@media (width<=900px){.admin-shell{min-height:100dvh;display:block;overflow:visible}.admin-desktop-sidebar{display:none}.admin-mobile-topbar{z-index:60;border-bottom:1px solid var(--admin-border);-webkit-backdrop-filter:blur(12px);background:#0d1016f5;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;padding:.55rem 1rem;display:flex;position:sticky;top:0}.admin-mobile-brand{min-width:0;color:var(--admin-text);align-items:center;gap:.65rem;font-size:.84rem;font-weight:650;display:flex}.admin-menu-button{border:1px solid var(--admin-border);width:38px;height:38px;color:var(--admin-text);background:var(--admin-surface);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.admin-mobile-overlay{z-index:65;background:#030508b3;border:0;display:block;position:fixed;inset:58px 0 0}.admin-mobile-sidebar{z-index:70;width:min(84vw,290px);animation:.16s both admin-drawer-in;display:block;position:fixed;inset:58px auto 0 0}@keyframes admin-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.admin-mobile-sidebar .admin-sidebar{border:0;border-right:1px solid var(--admin-border);border-radius:0;max-height:none;box-shadow:18px 0 45px -30px #000000f2}.admin-main{height:auto;max-height:none;padding:1.15rem 1rem 2rem;overflow:visible}.admin-dashboard-analytics{grid-template-columns:1fr}.admin-chart{height:220px}.admin-table-shell{max-height:none}.admin-table-scroll{max-height:min(570px,100dvh - 250px)}.admin-editor-layout,.admin-site-content-panel{grid-template-columns:1fr}.admin-section-tabs{scrollbar-width:thin;flex-direction:row;padding:.35rem;position:static;overflow-x:auto}.admin-section-tab{flex:none;padding-inline:.65rem}.admin-asset-card{grid-template-columns:minmax(110px,.75fr) minmax(160px,1.25fr)}}@media (width<=720px){.admin-page-header{align-items:flex-start}.admin-stat-grid,.admin-dashboard-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-asset-grid,.admin-editor-fields{grid-template-columns:1fr}.admin-editor-fields .admin-field{grid-column:1}}@media (width<=640px){.admin-main{padding:1rem .8rem 1.5rem}.admin-page-header{flex-direction:column;gap:.75rem;min-height:0;margin-bottom:.9rem}.admin-header-actions{width:100%}.admin-header-actions>*{flex:1}.admin-header-actions .admin-primary-action,.admin-header-actions .admin-secondary-action{width:100%}.admin-data-toolbar{flex-wrap:wrap;align-items:stretch}.admin-search-field,.admin-search-control{min-width:100%;max-width:none}.admin-filter-select{flex:1;min-width:0}.admin-toolbar-result,.admin-toolbar-summary{width:100%;margin-left:0}.admin-appreciation-card{min-height:92px}.admin-modal-backdrop{align-items:flex-end;padding:0}.admin-modal-panel,.admin-modal-panel-sm,.admin-modal-panel-md,.admin-modal-panel-lg{border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;width:100%;max-height:92dvh;padding:.9rem}.admin-form-grid,.admin-form-section,.admin-form-fields{grid-template-columns:1fr}.admin-form-grid .admin-field,.admin-form-section .admin-field{grid-column:1}.admin-actions,.admin-dialog-actions{flex-direction:row}.admin-actions .admin-btn,.admin-dialog-actions .admin-btn{flex:1;width:auto}.admin-pagination{flex-direction:column;align-items:flex-start;gap:.4rem;padding-block:.55rem}.admin-pagination-controls{justify-content:flex-end;width:100%}.admin-sticky-actions,.admin-sticky-form-actions{flex-direction:column;align-items:stretch}.admin-save-note{display:none}.admin-sticky-form-actions .admin-btn{width:100%}.admin-sticky-status{display:none}.admin-sticky-buttons>*{flex:1}.admin-asset-card{grid-template-columns:104px minmax(0,1fr);min-height:0}.admin-asset-visual,.admin-asset-image{height:112px;min-height:112px}}@media (width<=420px){.admin-asset-card{grid-template-columns:1fr}.admin-asset-visual,.admin-asset-image{height:138px}}@media (prefers-reduced-motion:reduce){.admin-shell *,.admin-shell :before,.admin-shell :after,.admin-modal-backdrop,.admin-modal-backdrop *,.admin-modal-backdrop :before,.admin-modal-backdrop :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-public{--pp-bg:#090b10;--pp-bg-soft:#0c1016;--pp-surface:#11161e;--pp-surface-hover:#151b24;--pp-border:#242c38;--pp-border-strong:#354153;--pp-text:#f3f6fa;--pp-text-soft:#b8c1ce;--pp-text-muted:#8490a0;--pp-accent:#54d7eb;--pp-accent-strong:#22c8e0;min-height:100vh;color:var(--pp-text-soft);background:var(--pp-bg);isolation:isolate;position:relative}.portfolio-public *,.portfolio-public :before,.portfolio-public :after{box-sizing:border-box}.portfolio-public :where(h1,h2,h3,h4,p,ul){margin-top:0}.portfolio-public :where(a,button,input,textarea){font:inherit}.portfolio-public :where(button,a){-webkit-tap-highlight-color:transparent}.portfolio-public :where(a,button,input,textarea):focus-visible{outline:2px solid var(--pp-accent);outline-offset:3px}.portfolio-public main section[id]{scroll-margin-top:84px}.pp-container{width:min(100% - 2.5rem,1160px);margin-inline:auto}.pp-ambient{z-index:-1;pointer-events:none;background:radial-gradient(at top,#22c8e018,#0000 66%);width:min(72rem,100vw);height:48rem;position:fixed;top:-22rem;left:50%;transform:translate(-50%)}.pp-skip-link{z-index:100;color:#071014;background:var(--pp-accent);border-radius:8px;padding:.65rem .85rem;font-size:.82rem;font-weight:700;transition:transform .14s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.pp-skip-link:focus{transform:translateY(0)}.pp-nav{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090b10e0;border-bottom:1px solid #242c38c7;position:sticky;top:0}.pp-nav-inner{justify-content:space-between;align-items:center;gap:1.25rem;width:min(100% - 2rem,1160px);height:68px;margin-inline:auto;display:flex}.pp-brand{min-width:0;color:var(--pp-text);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:.68rem;padding:.2rem;display:inline-flex}.pp-brand-mark{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:9px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.pp-brand-mark img{object-fit:contain;width:27px;height:27px}.pp-brand-copy{line-height:1.12;display:grid}.pp-brand-copy strong{color:var(--pp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.pp-brand-copy span{color:var(--pp-text-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;font-size:.61rem;font-weight:650}.pp-nav-links{align-items:center;gap:.1rem;display:flex}.pp-nav-link{min-height:38px;color:var(--pp-text-muted);background:0 0;border:0;border-radius:8px;padding:0 .72rem;font-size:.76rem;font-weight:600;transition:color .14s,background-color .14s}.pp-nav-link:hover,.pp-nav-link-active{color:var(--pp-text);background:#ffffff0b}.pp-nav-link-active{box-shadow:inset 0 -1px var(--pp-accent)}.pp-nav-actions{align-items:center;gap:.55rem;display:flex}.pp-icon-button,.pp-menu-button,.pp-carousel-controls button,.pp-modal-close,.pp-back-to-top{border:1px solid var(--pp-border);width:40px;height:40px;color:var(--pp-text-soft);background:var(--pp-surface);border-radius:9px;justify-content:center;align-items:center;transition:color .14s,border-color .14s,background-color .14s;display:inline-flex}.pp-icon-button{font-size:1.18rem}.pp-icon-button:hover,.pp-menu-button:hover,.pp-carousel-controls button:hover,.pp-modal-close:hover,.pp-back-to-top:hover{border-color:var(--pp-border-strong);color:var(--pp-text);background:var(--pp-surface-hover)}.pp-icon-button-active{color:var(--pp-accent);border-color:#54d7eb6b}.pp-icon-button:disabled{cursor:wait;opacity:.55}.pp-nav-resume,.pp-mobile-resume{border:1px solid var(--pp-border);min-height:40px;color:var(--pp-text);background:var(--pp-surface);border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding-inline:.85rem;font-size:.75rem;font-weight:650;text-decoration:none;transition:border-color .14s,background-color .14s;display:inline-flex}.pp-nav-resume:hover,.pp-mobile-resume:hover{border-color:var(--pp-border-strong);background:var(--pp-surface-hover)}.pp-menu-button{display:none}.pp-mobile-menu{border:1px solid var(--pp-border);background:#0e1218fa;border-radius:12px;padding:.55rem;display:none;position:fixed;top:76px;left:1rem;right:1rem;box-shadow:0 22px 55px #0000006b}.pp-hero{padding-block:clamp(5.5rem,10vw,8rem)}.pp-hero-grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.14fr) minmax(320px,.76fr);align-items:center;gap:0 clamp(3rem,7vw,7rem);display:grid}.pp-hero-heading,.pp-hero-details{grid-column:1;max-width:680px}.pp-hero-heading{grid-row:1;align-self:end}.pp-hero-details{grid-row:2;align-self:start}.pp-hero-status{color:var(--pp-text-muted);align-items:center;gap:.55rem;margin-bottom:1.4rem;font-size:.76rem;font-weight:600;display:flex}.pp-hero-status span{background:var(--pp-accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #54d7eb14}.pp-hero h1{max-width:760px;color:var(--pp-text);font-family:var(--font-heading);letter-spacing:-.055em;margin-bottom:0;font-size:clamp(3.35rem,6.4vw,6rem);font-weight:650;line-height:.98}.pp-hero-subtitle{max-width:650px;color:var(--pp-text-soft);margin-top:1.7rem;font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.65}.pp-hero-subtitle :where(p,span){margin-bottom:0}.pp-hero-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:2rem;display:flex}.pp-button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:0 1rem;font-size:.81rem;font-weight:700;text-decoration:none;transition:color .14s,border-color .14s,background-color .14s,transform .14s;display:inline-flex}.pp-button-primary{color:#061014;background:var(--pp-accent);border-color:#29bdd2}.pp-button-primary:hover:not(:disabled){background:#75e3f2;border-color:#79e6f5;transform:translateY(-1px)}.pp-button-secondary{border-color:var(--pp-border);color:var(--pp-text);background:var(--pp-surface)}.pp-button-secondary:hover{border-color:var(--pp-border-strong);background:var(--pp-surface-hover)}.pp-button:disabled{cursor:wait;opacity:.62}.pp-text-action{min-height:44px;color:var(--pp-text-soft);border-radius:8px;align-items:center;gap:.45rem;padding-inline:.65rem;font-size:.79rem;font-weight:650;text-decoration:none;display:inline-flex}.pp-text-action:hover{color:var(--pp-text)}.pp-socials{flex-wrap:wrap;gap:1rem;margin-top:1.65rem;display:flex}.pp-socials a{min-height:40px;color:var(--pp-text-muted);border-radius:8px;align-items:center;gap:.45rem;font-size:.76rem;font-weight:600;text-decoration:none;transition:color .14s;display:inline-flex}.pp-socials a:hover{color:var(--pp-accent)}.pp-social-icon{fill:currentColor;width:17px;height:17px}.pp-portrait{grid-area:1/2/span 2;place-self:center end;width:min(100%,428px)}.pp-portrait-visual{isolation:isolate;border-radius:26px;place-items:center;padding:4.25%;display:grid;position:relative;overflow:clip}.pp-portrait-accent{--pp-portrait-angle:140deg;z-index:0;pointer-events:none;background:conic-gradient(from var(--pp-portrait-angle), transparent 0deg, #22d3ee8c 58deg, transparent 112deg, #818cf87a 176deg, transparent 230deg, #ec489970 292deg, transparent 360deg);opacity:.82;transform-origin:50%;border:1px solid #ffffff0e;border-radius:24px;animation:9s linear infinite pp-portrait-frame-flow,4.5s ease-in-out infinite pp-portrait-breathe;position:absolute;inset:0;box-shadow:0 22px 58px -42px #22d3eeb3,0 18px 54px -44px #818cf8b8}.pp-portrait-accent:after{content:"";background:radial-gradient(circle at 82% 14%,#ec489921,#0000 36%);border-radius:16px;position:absolute;inset:10%}.pp-portrait-frame{z-index:1;aspect-ratio:4/5;border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:14px;position:relative;overflow:hidden}.pp-portrait-frame img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;display:block}.pp-portrait>p{z-index:1;color:var(--pp-text-muted);letter-spacing:.03em;text-align:right;margin:.8rem 0 0;font-size:.7rem;position:relative}@property --pp-portrait-angle{syntax:"<angle>";inherits:false;initial-value:140deg}@keyframes pp-portrait-frame-flow{to{--pp-portrait-angle:500deg}}@keyframes pp-portrait-breathe{0%,to{opacity:.7;transform:scale(.99)}50%{opacity:.88;transform:scale(1)}}.pp-section{border-top:1px solid #242c38a6;padding-block:clamp(5rem,8vw,7rem);position:relative}.pp-section-muted{background:#0c1016b8}.pp-section-heading{max-width:680px;margin-bottom:clamp(2.5rem,5vw,4rem)}.pp-section-heading-center{text-align:center;margin-inline:auto}.pp-eyebrow{color:var(--pp-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.7rem;font-weight:700;display:flex}.pp-section-heading-center .pp-eyebrow{justify-content:center}.pp-section-heading h2{color:var(--pp-text);font-family:var(--font-heading);letter-spacing:-.045em;margin-bottom:0;font-size:clamp(2.3rem,4.5vw,3.65rem);font-weight:620;line-height:1.06}.pp-section-description{max-width:620px;color:var(--pp-text-muted);margin:1rem 0 0;font-size:.95rem;line-height:1.75}.pp-section-heading-center .pp-section-description{margin-inline:auto}.pp-about-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:1.5rem clamp(2rem,3.5vw,3rem);display:grid}.pp-about-content{min-width:0}.pp-about-content .pp-section-heading{margin-bottom:1.6rem}.pp-about-lead{max-width:650px;color:var(--pp-text-soft);font-size:clamp(1rem,1.45vw,1.12rem);line-height:1.75}.pp-about-lead :where(p,div),.pp-about-narrative p{margin-bottom:0}.pp-about-narrative{border:1px solid var(--pp-border);color:var(--pp-text-soft);background:var(--pp-surface);border-radius:12px;margin-top:2rem;padding:1.7rem 1.75rem 1.7rem 2.6rem;font-size:.9rem;line-height:1.75;position:relative;overflow:hidden;box-shadow:0 18px 42px -36px #000000f2}.pp-about-narrative:before{background:var(--pp-accent);content:"";border-radius:999px;width:3px;position:absolute;top:1.7rem;bottom:1.7rem;left:1.55rem}.pp-about-narrative>*+*{margin-top:1rem}.pp-about-focus-card{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:12px;min-width:0;padding:1.65rem;box-shadow:0 18px 42px -36px #000000f2}.pp-about-focus-card>h3{color:var(--pp-text);margin-bottom:1rem;font-size:1.1rem;font-weight:650}.pp-about-focus-list{display:block}.pp-about-focus-row{grid-template-columns:48px minmax(0,1fr) 7px;align-items:center;gap:1rem;min-width:0;padding-block:1rem;display:grid}.pp-about-focus-row+.pp-about-focus-row{border-top:1px solid var(--pp-border)}.pp-about-focus-icon,.pp-about-metadata-icon{border:1px solid var(--pp-border);color:var(--pp-accent);background:var(--pp-bg-soft);border-radius:9px;flex:none;place-items:center;display:grid}.pp-about-focus-icon{width:48px;height:48px}.pp-about-focus-copy{gap:.35rem;min-width:0;display:grid}.pp-about-focus-copy strong{color:var(--pp-text);font-size:.9rem;font-weight:650;line-height:1.35}.pp-about-focus-copy>span{color:var(--pp-text-muted);font-size:.78rem;line-height:1.65}.pp-about-focus-status{background:var(--pp-accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #54d7eb12}.pp-about-metadata{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;margin:0;padding:.75rem 0;list-style:none;display:grid;box-shadow:0 18px 42px -38px #000000f2}.pp-about-metadata li{min-width:0;color:var(--pp-text-soft);align-items:center;gap:.75rem;padding:.35rem 1rem;font-size:.78rem;font-weight:600;line-height:1.35;display:flex}.pp-about-metadata li+li{border-left:1px solid var(--pp-border)}.pp-about-metadata-icon{width:38px;height:38px}@media (width>=981px){.pp-about-section{padding-block:clamp(1.5rem,2.4vw,2.25rem)}.pp-about-content .pp-section-heading{margin-bottom:1rem}.pp-about-content .pp-eyebrow{margin-bottom:.8rem}.pp-about-content .pp-section-heading h2{font-size:clamp(3.25rem,4.35vw,4rem);line-height:1.01}.pp-about-lead{font-size:clamp(.96rem,1.2vw,1.06rem);line-height:1.65}.pp-about-narrative{margin-top:1.25rem;padding:1.4rem 1.5rem 1.4rem 2.35rem;font-size:.86rem;line-height:1.62}.pp-about-narrative:before{top:1.4rem;bottom:1.4rem;left:1.4rem}.pp-about-narrative>*+*{margin-top:.75rem}}@media (width>=981px) and (height<=820px){.pp-about-section{padding-block:1.5rem}.pp-about-layout{gap-block:1.25rem}.pp-about-content .pp-section-heading{margin-bottom:.8rem}.pp-about-content .pp-section-heading h2{font-size:clamp(3.15rem,4vw,3.55rem)}.pp-about-lead{font-size:.96rem;line-height:1.58}.pp-about-narrative{margin-top:1rem;padding:1.15rem 1.3rem 1.15rem 2.2rem;font-size:.83rem;line-height:1.55}.pp-about-narrative:before{top:1.15rem;bottom:1.15rem;left:1.3rem}.pp-about-narrative>*+*{margin-top:.6rem}.pp-about-focus-card{padding:1.35rem}.pp-about-focus-card>h3{margin-bottom:.6rem}.pp-about-focus-row{padding-block:.85rem}.pp-about-metadata{padding-block:.5rem}.pp-about-metadata li{padding-block:.2rem}.pp-about-metadata-icon{width:34px;height:34px}}.pp-background-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);display:grid}.pp-timeline-group>h3{color:var(--pp-text);margin-bottom:1.8rem;font-size:1rem;font-weight:650}.pp-timeline{border-left:1px solid var(--pp-border);padding-left:1.8rem;position:relative}.pp-timeline-item{padding-bottom:2.5rem;position:relative}.pp-timeline-item:last-child{padding-bottom:0}.pp-timeline-item:before{background:var(--pp-accent);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.35rem;left:calc(-1.8rem - 4px)}.pp-timeline-period,.pp-project-year{color:var(--pp-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.55rem;font-size:.68rem;font-weight:700}.pp-timeline-item h4{color:var(--pp-text);margin-bottom:.32rem;font-size:1.08rem;font-weight:650;line-height:1.35}.pp-timeline-subtitle{color:var(--pp-text-soft);margin-bottom:.9rem;font-size:.88rem}.pp-timeline-item ul{color:var(--pp-text-muted);gap:.45rem;margin-bottom:0;padding-left:1.05rem;font-size:.82rem;line-height:1.65;display:grid}.pp-section-row{justify-content:space-between;align-items:end;gap:2rem;display:flex}.pp-carousel-controls{gap:.5rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:flex}.pp-projects{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-color:var(--pp-border-strong) transparent;scrollbar-width:thin;grid-auto-columns:minmax(330px,48%);grid-auto-flow:column;gap:1rem;padding:.15rem .15rem 1.1rem;display:grid;overflow-x:auto}.pp-project-card{border:1px solid var(--pp-border);background:var(--pp-surface);scroll-snap-align:start;border-radius:12px;flex-direction:column;min-width:0;transition:border-color .16s,background-color .16s,transform .16s;display:flex;overflow:hidden}.pp-project-card:hover{border-color:var(--pp-border-strong);background:var(--pp-surface-hover);transform:translateY(-2px)}.pp-project-media{aspect-ratio:16/8.5;border-bottom:1px solid var(--pp-border);background:var(--pp-bg-soft);overflow:hidden}.pp-project-media img{object-fit:cover;width:100%;height:100%;transition:transform .22s;display:block}.pp-project-card:hover .pp-project-media img{transform:scale(1.02)}.pp-project-body{flex-direction:column;flex:1;min-height:310px;padding:clamp(1.3rem,3vw,1.7rem);display:flex}.pp-project-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.pp-project-heading h3{color:var(--pp-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:clamp(1.25rem,2.5vw,1.55rem);font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.pp-project-highlight{border-left:2px solid var(--pp-accent);max-width:9rem;color:var(--pp-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;padding-left:.55rem;font-size:.66rem;line-height:1.35;overflow:hidden}.pp-project-description{color:var(--pp-text-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:1.2rem 0 1.3rem;font-size:.86rem;line-height:1.7;display:-webkit-box;overflow:hidden}.pp-tech-list{color:var(--pp-text-soft);flex-wrap:wrap;gap:.3rem .9rem;margin-bottom:1.4rem;padding:0;font-size:.72rem;list-style:none;display:flex}.pp-tech-list li:before{color:var(--pp-accent);content:"·";margin-right:.42rem}.pp-project-links{border-top:1px solid var(--pp-border);align-items:center;gap:1rem;min-height:44px;margin-top:auto;padding-top:1rem;display:flex}.pp-project-links a{min-height:38px;color:var(--pp-text-soft);border-radius:7px;align-items:center;gap:.35rem;font-size:.74rem;font-weight:650;text-decoration:none;display:inline-flex}.pp-project-links a:hover,.pp-project-link-primary{color:var(--pp-accent)}.pp-project-unavailable{color:var(--pp-text-muted);font-size:.73rem}.pp-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.pp-skill-group{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:12px;flex-direction:column;min-width:0;height:100%;padding:1.5rem;transition:border-color .16s,background-color .16s;display:flex;box-shadow:0 14px 34px -30px #000000e6}.pp-skill-group:hover{border-color:var(--pp-border-strong);background:var(--pp-surface-hover)}.pp-skill-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pp-skill-heading h3{color:var(--pp-text);margin-bottom:0;font-size:.96rem;font-weight:650}.pp-skill-heading span{color:var(--pp-text-muted);white-space:nowrap;font-size:.7rem}.pp-skill-group ul{color:var(--pp-text-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:1rem 0 0;padding:0;font-size:.8rem;list-style:none;display:grid}.pp-skill-group li{overflow-wrap:anywhere;min-width:0}.pp-skill-group li:before{color:var(--pp-accent);content:"—";margin-right:.48rem}.pp-certificates-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.pp-certificate-card{border:1px solid var(--pp-border);min-width:0;color:inherit;background:var(--pp-surface);text-align:left;border-radius:10px;flex-direction:column;padding:0;transition:border-color .14s,background-color .14s,transform .14s;display:flex;overflow:hidden}button.pp-certificate-card:hover{border-color:var(--pp-border-strong);background:var(--pp-surface-hover);transform:translateY(-2px)}.pp-certificate-static{cursor:default}.pp-certificate-media{aspect-ratio:16/10;border-bottom:1px solid var(--pp-border);background:var(--pp-bg-soft);position:relative;overflow:hidden}.pp-certificate-media img{object-fit:cover;width:100%;height:100%;display:block}.pp-certificate-placeholder{width:100%;height:100%;color:var(--pp-text-muted);place-items:center;display:grid}.pp-certificate-expand{color:#fff;background:#07090dc7;border:1px solid #ffffff24;border-radius:7px;width:28px;height:28px;padding:6px;position:absolute;bottom:.65rem;right:.65rem}.pp-certificate-copy{padding:1rem}.pp-certificate-copy h3{color:var(--pp-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.35rem;font-size:.88rem;font-weight:650;line-height:1.4;display:-webkit-box;overflow:hidden}.pp-certificate-copy p{color:var(--pp-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:.72rem;overflow:hidden}.pp-certificate-modal{z-index:100;background:#040609e6;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0;overflow-y:auto}.pp-certificate-dialog{border:1px solid var(--pp-border-strong);background:var(--pp-surface);border-radius:12px;flex-direction:column;width:min(100%,920px);max-height:calc(100svh - 2.5rem);display:flex;overflow:hidden;box-shadow:0 30px 80px #00000080}.pp-certificate-dialog-header{border-bottom:1px solid var(--pp-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.pp-certificate-dialog-header h2{color:var(--pp-text);margin-bottom:.2rem;font-size:1rem;font-weight:650}.pp-certificate-dialog-header p{color:var(--pp-text-muted);margin-bottom:0;font-size:.75rem}.pp-modal-close{flex:0 0 40px}.pp-certificate-dialog-media{background:var(--pp-bg-soft);flex:1;place-items:center;min-height:0;padding:1rem;display:grid;overflow:auto}.pp-certificate-dialog-media img{object-fit:contain;max-width:100%;max-height:calc(100svh - 8.5rem);display:block}.pp-contact-grid{grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);align-items:start;gap:clamp(3rem,7vw,6rem);display:grid}.pp-contact-copy .pp-section-heading{margin-bottom:2rem}.pp-contact-details{gap:.75rem;font-style:normal;display:grid}.pp-contact-details :where(a,button,span){min-height:38px;color:var(--pp-text-muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:.65rem;padding:0;font-size:.79rem;text-decoration:none;display:flex}.pp-contact-details :where(a,button):hover{color:var(--pp-accent)}.pp-contact-form{border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:12px;gap:1.15rem;padding:clamp(1.25rem,3vw,1.8rem);display:grid}.pp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.pp-contact-form label{gap:.48rem;min-width:0;display:grid}.pp-contact-form label>span{color:var(--pp-text-soft);font-size:.74rem;font-weight:600}.pp-contact-form :where(input,textarea){border:1px solid var(--pp-border);width:100%;color:var(--pp-text);background:var(--pp-bg-soft);border-radius:9px;outline:0;font-size:.84rem;transition:border-color .14s,box-shadow .14s,background-color .14s}.pp-contact-form input{min-height:46px;padding:0 .8rem}.pp-contact-form textarea{resize:vertical;min-height:150px;padding:.8rem;line-height:1.6}.pp-contact-form :where(input,textarea)::placeholder{color:#5e6977}.pp-contact-form :where(input,textarea):hover{border-color:var(--pp-border-strong)}.pp-contact-form :where(input,textarea):focus-visible{border-color:#54d7ebad;box-shadow:0 0 0 3px #54d7eb17}.pp-submit-button{width:100%}.pp-footer{border-top:1px solid var(--pp-border);background:var(--pp-bg);padding-block:1.8rem}.pp-footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.pp-footer p{color:var(--pp-text-muted);margin-bottom:0;font-size:.73rem}.pp-footer-links{align-items:center;gap:1rem;display:flex}.pp-footer-links :where(a,button){min-height:36px;color:var(--pp-text-muted);background:0 0;border:0;border-radius:7px;align-items:center;padding:0;font-size:.72rem;text-decoration:none;display:inline-flex}.pp-footer-links :where(a,button):hover{color:var(--pp-text)}.pp-back-to-top{z-index:55;border:0;border-radius:50%;width:48px;height:48px;position:fixed;bottom:1.25rem;right:1.25rem;overflow:visible;box-shadow:0 12px 35px #00000059}.pp-back-to-top-progress{width:48px;height:48px;position:absolute;inset:0;transform:rotate(-90deg)}.pp-back-to-top-track,.pp-back-to-top-value{fill:none;stroke-width:2px}.pp-back-to-top-track{stroke:var(--pp-border-strong)}.pp-back-to-top-value{stroke:var(--pp-accent);stroke-linecap:round;transition:stroke-dashoffset 80ms linear}.pp-back-to-top>svg+svg{position:relative}.pp-loader-screen{min-height:100svh;color:var(--pp-text);background:#07090d;place-items:center;padding:clamp(1rem,5vh,3rem) 1.25rem;display:grid;position:relative;overflow:clip auto}.pp-loader-ambient,.pp-loader-grid{pointer-events:none;position:absolute;inset:0}.pp-loader-ambient{background:radial-gradient(circle at 50% 18%,#6366f124,#0000 31%),linear-gradient(115deg,#22d3ee0f,#0000 30% 70%,#ec489912)}.pp-loader-grid{opacity:.18;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle,#000,#0000 76%);mask-image:radial-gradient(circle,#000,#0000 76%)}.pp-loader-corner{pointer-events:none;opacity:.42;width:clamp(54px,8vw,92px);height:clamp(54px,8vw,92px);position:absolute}.pp-loader-corner-top{border-top:1px solid #22d3ee73;border-left:1px solid #818cf859;top:clamp(1rem,3vw,2rem);left:clamp(1rem,3vw,2rem)}.pp-loader-corner-bottom{border-bottom:1px solid #818cf866;border-right:1px solid #ec489959;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.pp-loader-content{z-index:1;text-align:center;flex-direction:column;align-items:center;width:min(100%,480px);animation:.42s cubic-bezier(.23,1,.32,1) both pp-loader-enter;display:flex;position:relative}.pp-loader-mark{place-items:center;width:clamp(112px,18vw,132px);height:clamp(112px,18vw,132px);margin-bottom:clamp(1.75rem,5vh,2.35rem);display:grid;position:relative}.pp-loader-ring,.pp-loader-orbit{pointer-events:none;border-radius:50%;position:absolute;inset:0}.pp-loader-ring{opacity:.9;background:conic-gradient(from 90deg,#0000 0deg,#22d3ee 70deg,#60a5fa 125deg,#818cf8 185deg,#ec4899 260deg,#0000 340deg);animation:3.4s linear infinite pp-loader-rotate;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px))}.pp-loader-orbit{opacity:.72;background:radial-gradient(circle at 50% 0,currentColor 0 5px,#0000 6px);animation:4.6s linear infinite pp-loader-rotate}.pp-loader-orbit-cyan{color:#22d3ee}.pp-loader-orbit-violet{color:#818cf8;animation-duration:3.8s;animation-direction:reverse;inset:9px}.pp-loader-orbit-pink{color:#ec4899;animation-duration:4.2s;inset:18px}.pp-loader-logo{z-index:1;background:#0d1118f0;border:1px solid #ffffff1a;border-radius:24px;place-items:center;width:clamp(72px,12vw,86px);height:clamp(72px,12vw,86px);animation:2.4s ease-in-out infinite pp-loader-pulse;display:grid;position:relative;box-shadow:0 22px 55px -34px #22d3eec2,0 18px 48px -36px #818cf8bf}.pp-loader-logo img{object-fit:contain;width:64%;height:64%}.pp-loader-label{color:#a5b4fc;letter-spacing:.3em;text-transform:uppercase;margin-bottom:0;font-size:.68rem;font-weight:700}.pp-loader-content h1{color:var(--pp-text);font-family:var(--font-heading);letter-spacing:-.045em;margin:.9rem 0 0;font-size:clamp(2.35rem,7vw,3.4rem);font-weight:640;line-height:1.05}.pp-loader-description{max-width:390px;color:var(--pp-text-muted);margin:1rem 0 0;font-size:.84rem;line-height:1.65}.pp-loader-dots{gap:.55rem;margin-top:clamp(1.6rem,4vh,2.2rem);display:flex}.pp-loader-dots span{background:#a5b4fc;border-radius:50%;width:6px;height:6px;animation:1.15s ease-in-out infinite pp-loader-dot}.pp-loader-dots span:nth-child(2){animation-delay:.16s}.pp-loader-dots span:nth-child(3){animation-delay:.32s}.pp-loader-progress{background:#242b36;border-radius:999px;width:min(100%,260px);height:2px;margin-top:1.35rem;overflow:hidden}.pp-loader-progress span{border-radius:inherit;background:linear-gradient(90deg,#22d3ee,#60a5fa,#818cf8,#ec4899);width:42%;height:100%;animation:1.25s ease-in-out infinite pp-loader-progress;display:block}@keyframes pp-loader-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pp-loader-rotate{to{transform:rotate(360deg)}}@keyframes pp-loader-pulse{50%{transform:scale(1.035)}}@keyframes pp-loader-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes pp-loader-progress{0%{transform:translate(-105%)}to{transform:translate(245%)}}.pp-state-screen{place-items:center;min-height:100svh;padding:1.5rem;display:grid}.pp-state-card{border:1px solid var(--pp-border);text-align:center;background:#11161ef5;border-radius:12px;width:min(100%,430px);padding:2rem;position:relative}.pp-state-logo{border:1px solid var(--pp-border);background:var(--pp-bg-soft);border-radius:10px;place-items:center;width:48px;height:48px;margin:0 auto 1.3rem;display:grid}.pp-state-logo img{object-fit:contain;width:36px;height:36px}.pp-state-card h1{color:var(--pp-text);margin-bottom:.65rem;font-size:1.65rem;font-weight:650}.pp-state-card>p{color:var(--pp-text-muted);margin-bottom:0;font-size:.84rem;line-height:1.6}.pp-state-label{letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--pp-accent)!important;margin-bottom:.55rem!important;font-size:.68rem!important}.pp-state-detail{margin-top:.7rem!important;font-size:.72rem!important}.pp-state-card .pp-button{margin-top:1.4rem}.pp-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=980px){.pp-nav-links,.pp-nav-resume{display:none}.pp-menu-button,.pp-mobile-menu{display:flex}.pp-mobile-menu{flex-direction:column}.pp-mobile-menu .pp-nav-link{text-align:left;justify-content:flex-start;width:100%}.pp-mobile-resume{margin-top:.3rem}.pp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.68fr);gap:0 3rem}.pp-about-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.pp-about-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-about-metadata li+li{border-left:0}.pp-about-metadata li:nth-child(2n){border-left:1px solid var(--pp-border)}.pp-about-metadata li:nth-child(n+3){border-top:1px solid var(--pp-border)}.pp-projects{grid-auto-columns:minmax(320px,68%)}.pp-certificates-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-contact-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.pp-container{width:min(100% - 2rem,1160px)}.pp-hero{padding-block:4.5rem 5.5rem}.pp-hero-grid{grid-template-columns:minmax(0,1fr)}.pp-hero-heading{grid-area:1/1}.pp-hero-details{grid-area:2/1}.pp-portrait{grid-area:3/1;justify-self:start;width:min(100%,428px)}.pp-portrait>p{text-align:left}.pp-about-narrative,.pp-about-focus-card{padding-block:1.4rem}.pp-about-focus-card{padding-inline:1.4rem}.pp-background-grid,.pp-skills-grid{grid-template-columns:minmax(0,1fr)}.pp-skills-grid{gap:1.25rem}.pp-skill-group{padding:1.2rem}.pp-section-row{align-items:start}.pp-projects{grid-auto-columns:minmax(300px,88%)}.pp-certificates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-footer-inner{flex-direction:column;align-items:flex-start}}@media (width<=640px){.pp-hero{padding-block:3.6rem 4.5rem}.pp-hero-grid{grid-template-columns:minmax(0,1fr);row-gap:0}.pp-hero-heading{z-index:3;text-align:center;grid-area:1/1;width:100%;position:relative}.pp-hero-status{display:none}.pp-hero h1{margin-bottom:.75rem;font-size:clamp(2.65rem,12vw,3.55rem);line-height:1}.pp-portrait{grid-area:2/1;justify-self:center;width:min(82vw,286px);margin-inline:auto}.pp-portrait-visual{border-radius:22px;width:100%;padding:4.25%;overflow:clip}.pp-portrait-frame{border-radius:13px;width:100%}.pp-portrait-accent{opacity:.62;border-radius:20px;inset:0}.pp-portrait>p{display:none}.pp-hero-details{grid-area:3/1;width:100%;max-width:none}.pp-hero-subtitle{max-width:34rem;color:var(--pp-text-soft);text-align:center;margin:1.35rem auto 0;font-size:1rem;line-height:1.65}.pp-hero-actions{grid-template-columns:minmax(0,1fr);gap:.65rem;margin-top:1.5rem;display:grid}.pp-hero-actions .pp-button{width:100%;min-height:50px}.pp-hero-actions .pp-text-action{display:none}.pp-socials{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.9rem;display:grid}.pp-socials a{border:1px solid var(--pp-border);min-width:0;min-height:50px;color:var(--pp-text-soft);white-space:nowrap;background:var(--pp-surface);border-radius:9px;justify-content:center;padding-inline:.55rem;font-size:.72rem}.pp-socials a:hover{border-color:var(--pp-border-strong);color:var(--pp-text);background:var(--pp-surface-hover)}.pp-socials a[data-social*=github]{order:1}.pp-socials a[data-social*=linkedin]{order:2}.pp-socials a[data-social*=email],.pp-socials a[data-social*=mail]{order:3}}@media (width<=480px){.pp-container{width:min(100% - 1.5rem,1160px)}.pp-nav-inner{width:min(100% - 1.25rem,1160px)}.pp-brand-copy span{display:none}.pp-hero h1{font-size:clamp(2.55rem,12vw,3.25rem)}.pp-portrait{width:min(82vw,278px)}.pp-portrait-visual{border-radius:20px;padding:4.25%}.pp-portrait-accent{opacity:.58;border-radius:18px;inset:0}.pp-socials{gap:.45rem}.pp-socials a{gap:.3rem;padding-inline:.35rem;font-size:.68rem}.pp-social-icon{width:15px;height:15px}.pp-section{padding-block:4.5rem}.pp-section-heading{margin-bottom:2.4rem}.pp-section-heading h2{font-size:2.25rem}.pp-about-container{width:min(100% - 2rem,1160px)}.pp-about-narrative{margin-top:1.5rem;padding:1.25rem 1.2rem 1.25rem 2rem;font-size:.86rem}.pp-about-narrative:before{width:2px;top:1.3rem;bottom:1.3rem;left:1.15rem}.pp-about-focus-card{padding:1.25rem}.pp-about-focus-row{grid-template-columns:42px minmax(0,1fr) 6px;gap:.8rem;padding-block:1.1rem}.pp-about-focus-icon{width:42px;height:42px}.pp-about-focus-icon svg{width:21px;height:21px}.pp-about-metadata{grid-template-columns:minmax(0,1fr);padding-block:.45rem}.pp-about-metadata li,.pp-about-metadata li:nth-child(2n){border-left:0}.pp-about-metadata li:nth-child(n+2){border-top:1px solid var(--pp-border)}.pp-about-metadata li{padding:.65rem .9rem}.pp-section-row{display:block}.pp-carousel-controls{margin:-1.5rem 0 1.5rem}.pp-projects{grid-auto-columns:94%}.pp-project-body{min-height:330px}.pp-project-heading{display:block}.pp-project-highlight{margin-top:.75rem;display:inline-block}.pp-skill-group ul,.pp-certificates-grid{grid-template-columns:minmax(0,1fr)}.pp-certificate-card{grid-template-columns:120px minmax(0,1fr);display:grid}.pp-certificate-media{border-right:1px solid var(--pp-border);border-bottom:0;height:100%;min-height:100px}.pp-certificate-copy{align-self:center}.pp-form-grid{grid-template-columns:minmax(0,1fr)}.pp-footer-links{flex-wrap:wrap}.pp-back-to-top{bottom:.8rem;right:.8rem}}@media (height<=620px){.pp-loader-screen{align-items:start;padding-block:.75rem}.pp-loader-mark{width:92px;height:92px;margin-bottom:1rem}.pp-loader-logo{border-radius:18px;width:62px;height:62px}.pp-loader-content h1{margin-top:.6rem;font-size:2.1rem}.pp-loader-description{margin-top:.65rem}.pp-loader-dots{margin-top:1rem}.pp-loader-progress{margin-top:.9rem}}@media (prefers-reduced-motion:reduce){.portfolio-public *,.portfolio-public :before,.portfolio-public :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pp-portrait-accent{opacity:.72;transform:none;animation:none!important}.pp-loader-ring,.pp-loader-orbit,.pp-loader-logo,.pp-loader-dots span,.pp-loader-progress span,.pp-loader-content{animation:none!important}.pp-loader-orbit{opacity:.5}.pp-loader-progress span{width:58%;margin-inline:auto}.pp-back-to-top-value{transition:none}}.login-screen{--login-bg:#090b10;--login-surface:#11151c;--login-surface-raised:#151a22;--login-input:#0e1218;--login-border:#252b36;--login-border-strong:#3a4554;--login-text:#f4f7fb;--login-text-secondary:#b3bdca;--login-text-muted:#7f8a99;--login-accent:#67e8f9;--login-accent-strong:#22d3ee;min-height:100svh;color:var(--login-text-secondary);background:var(--login-bg);justify-content:center;align-items:center;padding:clamp(1.25rem,5vh,3rem) 1rem;display:flex;position:relative;overflow:clip auto}.login-screen *,.login-screen :before,.login-screen :after{box-sizing:border-box}.login-ambient{pointer-events:none;background:radial-gradient(circle at 50% -18%,#22d3ee1f,#0000 42%);position:fixed;inset:0}.login-card{z-index:1;border:1px solid var(--login-border);background:#11151cf7;border-radius:12px;width:min(100%,440px);padding:clamp(1.4rem,4vw,1.85rem);position:relative;box-shadow:0 28px 70px -48px #000000f2}.login-header{min-width:0}.login-brand-row,.login-brand{align-items:center;display:flex}.login-brand-row{justify-content:space-between;gap:1rem}.login-brand{gap:.65rem;min-width:0}.login-logo{border:1px solid var(--login-border);background:var(--login-input);border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.login-logo img{object-fit:contain;width:30px;height:30px;display:block}.login-product-name{color:var(--login-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:650;line-height:1.25;overflow:hidden}.login-product-meta{color:var(--login-text-muted);letter-spacing:.06em;margin-top:.15rem;font-size:.67rem;font-weight:600}.login-security-note{color:var(--login-text-muted);white-space:nowrap;flex:none;align-items:center;gap:.35rem;font-size:.68rem;font-weight:550;display:inline-flex}.login-security-note svg{color:var(--login-accent)}.login-heading{margin-top:1.7rem}.login-title{color:var(--login-text);font-family:var(--font-heading);letter-spacing:-.035em;margin:0;font-size:clamp(2.25rem,7vw,2.6rem);font-weight:650;line-height:1.05}.login-description{color:var(--login-text-muted);margin:.65rem 0 0;font-size:.84rem;line-height:1.5}.login-form{flex-direction:column;gap:1rem;margin-top:1.65rem;display:flex}.login-field{flex-direction:column;gap:.42rem;min-width:0;display:flex}.login-label{color:var(--login-text-secondary);font-size:.75rem;font-weight:600}.login-input-control{border:1px solid var(--login-border);min-height:46px;color:var(--login-text-muted);background:var(--login-input);border-radius:10px;align-items:center;transition:border-color .14s,background-color .14s,box-shadow .14s;display:flex;position:relative}.login-input-control>svg{pointer-events:none;position:absolute;left:.8rem}.login-input-control:hover{border-color:var(--login-border-strong);background:var(--login-surface-raised)}.login-input-control:has(.login-input:focus-visible){background:var(--login-surface-raised);border-color:#22d3ee9e;box-shadow:0 0 0 3px #22d3ee1a}.login-input-control:has(.login-input[aria-invalid=true]){border-color:#fb718599}.login-input{width:100%;min-width:0;min-height:44px;color:var(--login-text);font:inherit;background:0 0;border:0;outline:0;padding:0 .78rem 0 2.55rem;font-size:.84rem}.login-password-control .login-input{padding-right:3.1rem}.login-input::placeholder{color:#626e7c}.login-input:disabled{cursor:not-allowed;opacity:.58}.login-password-toggle{width:40px;height:40px;color:var(--login-text-muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;transition:color .14s,background-color .14s;display:inline-flex;position:absolute;right:.2rem}.login-password-toggle:hover{color:var(--login-text);background:#ffffff0d}.login-password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-error{color:#fecdd3;background:#f43f5e14;border:1px solid #fb71853d;border-radius:9px;align-items:flex-start;gap:.5rem;padding:.62rem .7rem;font-size:.73rem;line-height:1.4;display:flex}.login-error-mark{border:1px solid #fb71856b;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:.65rem;font-weight:700;display:inline-grid}.login-submit{color:#fff;background:linear-gradient(135deg,#0891b2,#6d5bd0);border:1px solid #67e8f957;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:0 1rem;font-size:.82rem;font-weight:700;transition:filter .14s,border-color .14s,opacity .14s;display:inline-flex}.login-submit:hover:not(:disabled){filter:brightness(1.06);border-color:#a5f3fc94}.login-submit:disabled{cursor:not-allowed;opacity:.58}.login-spinner{border:2px solid #ffffff61;border-top-color:#fff;border-radius:50%;flex:0 0 15px;width:15px;height:15px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-live-status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.login-back-link{min-height:40px;color:var(--login-text-muted);border-radius:8px;align-items:center;gap:.42rem;margin-top:1.2rem;font-size:.75rem;font-weight:600;transition:color .14s,background-color .14s;display:inline-flex}.login-back-link:hover{color:var(--login-text)}.login-screen :where(a,button):focus-visible{outline:2px solid var(--login-accent-strong);outline-offset:2px}@media (width<=480px){.login-screen{padding-inline:.8rem}.login-card{padding:1.35rem}.login-brand-row{flex-direction:column;align-items:flex-start;gap:.7rem}.login-security-note{padding-left:.1rem}.login-heading{margin-top:1.35rem}.login-title{font-size:2.2rem}}@media (height<=680px){.login-screen{align-items:flex-start;padding-block:.75rem}.login-card{padding-block:1.2rem}.login-heading{margin-top:1.15rem}.login-form{gap:.8rem;margin-top:1.15rem}.login-back-link{margin-top:.85rem}}@media (prefers-reduced-motion:reduce){.login-screen *,.login-screen :before,.login-screen :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
