@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-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-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-outline-style:solid;--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-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--color-gray-100:#f3f4f6;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--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);--font-weight-medium:var(--font-medium);--font-weight-semibold:var(--font-semibold);--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--aspect-video:16/9;--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);--color-surface:var(--surface);--color-background:var(--bg);--color-label-primary:var(--text);--color-label-secondary:var(--muted);--color-label-tertiary:var(--muted);--color-link-text:var(--accent);--color-focus-ring:var(--ring);--spacing-1:var(--space-1);--spacing-2:var(--space-2);--spacing-3:var(--space-3);--spacing-4:var(--space-4);--spacing-5:var(--space-5);--spacing-6:var(--space-6);--line-height-tight:var(--leading-tight);--line-height-relaxed:var(--leading-relaxed);--radius-full:var(--radius-full);--radius-row:var(--radius-row);--radius-row-hover:var(--radius-row-hover);--radius-row-active:var(--radius-row-active);--radius-inset:var(--radius-inset);--duration-fast:var(--duration-fast);--duration-normal:var(--duration-normal);--ease-standard:var(--ease-standard)}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-100:lab(96.1596% -.0823438 -1.13575)}}}@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 components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:var(--space-0)}.top-0{top:var(--space-0)}.isolate{isolation:isolate}.-z-10{z-index:calc(10*-1)}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:var(--space-0)}.m-2{margin:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-\[var\(--space-3\)\]{margin-top:var(--space-3)}.mr-1{margin-right:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.ml-2{margin-left:var(--space-2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-4{height:var(--space-4)}.h-6{height:var(--space-6)}.h-8{height:var(--space-8)}.h-\[22px\]{height:22px}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing)*64)}.min-h-\[60vh\]{min-height:60vh}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-\[22px\]{width:22px}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:var(--space-0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.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-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-\[13px\]{gap:13px}.gap-\[24px\]{gap:24px}.gap-\[32px\]{gap:32px}.gap-\[var\(--gap-stack\)\]{gap:var(--gap-stack)}.gap-\[var\(--space-2\)\]{gap:var(--space-2)}.gap-\[var\(--space-4\)\]{gap:var(--space-4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-2)*var(--tw-space-y-reverse));margin-block-end:calc(var(--space-2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-4)*var(--tw-space-y-reverse));margin-block-end:calc(var(--space-4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-6)*var(--tw-space-y-reverse));margin-block-end:calc(var(--space-6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--space-3)*var(--tw-space-x-reverse));margin-inline-end:calc(var(--space-3)*calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-surface{border-color:var(--surface)}.bg-background,.bg-bg{background-color:var(--bg)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:var(--space-0)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-\[18px\]{padding:18px}.p-\[var\(--space-card-x\)\]{padding:var(--space-card-x)}.px-2{padding-inline:var(--space-2)}.px-4{padding-inline:var(--space-4)}.px-\[var\(--space-card-x\)\]{padding-inline:var(--space-card-x)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-3{padding-block:var(--space-3)}.py-6{padding-block:var(--space-6)}.py-8{padding-block:var(--space-8)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.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-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.\!font-semibold{--tw-font-weight:var(--font-semibold)!important;font-weight:var(--font-semibold)!important}.font-medium{--tw-font-weight:var(--font-medium);font-weight:var(--font-medium)}.font-normal{--tw-font-weight:var(--font-normal);font-weight:var(--font-normal)}.font-semibold{--tw-font-weight:var(--font-semibold);font-weight:var(--font-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--color-label-primary\)\]{color:var(--color-label-primary)}.text-label-primary{color:var(--text)}.text-label-secondary,.text-label-tertiary,.text-muted{color:var(--muted)}.text-text{color:var(--text)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px 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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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-\[property\]{transition-property:property;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-normal{transition-behavior:normal}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-standard{--tw-ease:var(--ease-standard);transition-timing-function:var(--ease-standard)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:shadow-xl:hover{--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)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:opacity-90:active{opacity:.9}.\[\&_\[stroke-dasharray\=\'1px_1px\'\]\]\:\!\[stroke-dasharray\:1px_0px\] [stroke-dasharray="1px 1px"]{stroke-dasharray:1 0!important}}:root{--bg:#f5f5f5;--surface:#fff;--surface-2:#f9f9f9;--border:#e5e5e5;--text:#1a1a1a;--muted:#6b6b6b;--accent:#2563eb;--tint-ridgeline:#9ccaf2;--tint-unify:#a1a1a1;--tint-12matcha:#c4fabe;--tint-vidmob:#a5a1ff;--tint-strava:#c4fabe;--project-selected-bg-mobile:var(--surface-hover);--ring:var(--accent);--ring-offset:var(--surface);--surface-hover:#f0f0f0;--surface-active:#e8e8e8;--color-background:var(--bg);--color-surface:var(--surface);--color-surface-elevated:var(--surface-2);--color-label-primary:var(--text);--color-label-secondary:var(--muted);--color-label-tertiary:var(--muted);--color-link-text:var(--accent);--color-focus-ring:var(--color-link-text);--background:var(--bg);--foreground:var(--text);--font-primary:var(--font-sans);--font-secondary:var(--font-mono);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter",sans-serif;--font-mono:"SF Mono","Monaco","Consolas",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9375rem;--text-lg:1.125rem;--font-normal:400;--font-medium:500;--font-semibold:600;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.6;--font-size-headline:var(--text-lg);--font-size-body:var(--text-base);--font-size-caption:var(--text-sm);--font-weight-regular:var(--font-normal);--font-weight-medium:var(--font-medium);--font-weight-semibold:var(--font-semibold);--line-height-tight:var(--leading-tight);--line-height-normal:var(--leading-normal);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--pad-screen:var(--space-5);--pad-panel:var(--space-4);--space-card-x:var(--pad-panel);--pad-row-x:var(--space-4);--pad-row-y:var(--space-3);--gap-inline:var(--space-2);--gap-stack:var(--space-4);--content-gutter:var(--pad-screen);--sidebar-gutter:var(--pad-panel);--shell-header-gutter:var(--content-gutter);--sidebar-gutter-x:var(--space-2);--sidebar-width:240px;--sidebar-width-collapsed:calc(var(--hit-square) + (var(--sidebar-pad-collapsed)*2) + 1px);--header-height:var(--space-8);--page-gutter:var(--space-4);--page-pad-y:var(--space-5);--page-header-gap:var(--space-5);--page-max-width-wide:1280px;--page-max-width-narrow:768px;--spacing-1:var(--space-1);--spacing-2:var(--space-2);--spacing-3:var(--space-3);--spacing-4:var(--space-4);--spacing-5:var(--space-5);--spacing-6:var(--space-6);--spacing-8:var(--space-6);--spacing-12:var(--space-8);--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:.875rem;--radius-full:9999px;--radius-row:0px;--radius-row-hover:var(--radius-sm);--radius-row-active:var(--radius-sm);--radius-inset:var(--radius-xs);--radius-element:var(--radius-md);--radius-card:var(--radius-lg);--radius-pill:var(--radius-full);--radius-avatar:var(--radius-full);--color-primary:var(--color-link-text);--color-primary-hover:var(--color-label-primary);--color-primary-active:var(--color-label-primary);--color-primary-background:var(--color-surface);--color-primary-background-hover:var(--color-surface-elevated);--color-secondary:var(--color-label-secondary);--color-secondary-hover:var(--color-label-primary);--color-secondary-background:transparent;--color-secondary-background-hover:var(--color-surface);--color-ghost:var(--color-label-secondary);--color-ghost-hover:var(--color-label-primary);--color-ghost-background:transparent;--color-ghost-background-hover:var(--color-surface);--color-outline:var(--color-label-secondary);--color-outline-hover:var(--color-label-primary);--color-outline-border:var(--color-surface);--color-outline-border-hover:var(--color-surface-elevated);--color-outline-background:transparent;--color-outline-background-hover:var(--color-surface);--color-disabled:var(--color-label-tertiary);--color-disabled-background:var(--color-surface);--color-disabled-border:var(--color-surface);--color-focus-ring-offset:var(--color-background);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-card:var(--shadow-sm);--shadow-card-hover:var(--shadow-md);--shadow-elevated:var(--shadow-md);--shadow-button:none;--ease-standard:cubic-bezier(.2,0,0,1);--duration-fast:.12s;--duration-normal:.18s;--transition-colors:color var(--duration-fast)var(--ease-standard),background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard);--transition-opacity:opacity var(--duration-fast)var(--ease-standard);--transition-transform:transform var(--duration-normal)var(--ease-standard);--transition-all:color var(--duration-fast)var(--ease-standard),background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard),opacity var(--duration-fast)var(--ease-standard),transform var(--duration-normal)var(--ease-standard);--ease-out:var(--ease-standard);--ease-smooth:var(--ease-standard);--transition-fast:var(--duration-fast)var(--ease-standard);--transition-normal:var(--duration-normal)var(--ease-standard);--preview-w:400px;--preview-h:250px;--preview-radius:var(--radius-lg);--preview-bg:var(--color-surface);--preview-shadow:var(--shadow-md);--preview-offset-x:18px;--preview-offset-y:16px;--button-height-sm:2rem;--button-height-md:2.5rem;--button-height-lg:3rem;--button-padding-x-sm:var(--spacing-3);--button-padding-x-md:var(--spacing-4);--button-padding-x-lg:var(--spacing-5);--button-padding-y-sm:var(--spacing-2);--button-padding-y-md:var(--spacing-2);--button-padding-y-lg:var(--spacing-3);--button-font-size-sm:var(--font-size-caption);--button-font-size-md:var(--font-size-body);--button-font-size-lg:var(--font-size-body-sm);--button-gap:var(--spacing-2);--button-radius:var(--radius-element);--hit-square:40px;--icon-size:20px;--icon-size-sm:18px;--icon-optical-inset:6px;--radius-icon-button:var(--radius-md);--sidebar-pad:var(--space-3);--sidebar-pad-collapsed:var(--space-2);--sidebar-icon-gap:var(--space-1);--nav-item-height:40px;--nav-item-pad-x:10px;--nav-item-gap:12px;--nav-item-radius-hover:var(--radius-row-hover);--sidebar-icon-column-x:calc(var(--sidebar-gutter-x) + var(--nav-item-pad-x));--sidebar-title-pad-x:calc(var(--nav-item-pad-x) + var(--icon-optical-inset));--link-underline-thickness:.75px;--link-underline-offset:3px;--link-gap:var(--spacing-2);--link-underline:#00000047;--link-hover-bg:#0000000f;--link-active-bg:#00000017;--link-radius:var(--radius-sm);--link-pad-x:.125rem;--link-pad-y:.1875rem;--link-focus-ring:#1111112e;--card-padding-sm:var(--spacing-3);--card-padding-md:var(--padding-card);--card-padding-lg:var(--spacing-5);--card-gap:var(--spacing-4);--card-radius:var(--radius-card);--badge-height-sm:1.5rem;--badge-height-md:2rem;--badge-padding-x-sm:var(--spacing-2);--badge-padding-x-md:var(--spacing-3);--badge-padding-y-sm:var(--spacing-1);--badge-padding-y-md:var(--spacing-1);--badge-font-size-sm:var(--font-size-caption);--badge-font-size-md:var(--font-size-body);--badge-radius:var(--radius-pill);--avatar-size-sm:2rem;--avatar-size-md:2.5rem;--avatar-size-lg:3rem;--avatar-radius:var(--radius-avatar);--separator-thickness:1px;--separator-color:var(--border);--separator-spacing:var(--spacing-4);--input-height-sm:2rem;--input-height-md:2.5rem;--input-height-lg:3rem;--input-padding-x:var(--spacing-3);--input-padding-y:var(--spacing-2);--input-radius:var(--radius-element);--input-border:var(--separator-thickness)solid var(--border);--input-border-focus:var(--separator-thickness)solid var(--ring);--container-max-width:1200px;--container-padding-x:var(--padding-container);--container-padding-x-sm:var(--padding-container-sm);--container-padding-x-md:var(--padding-container-md)}@media (min-width:768px){:root{--page-gutter:var(--space-5);--page-pad-y:var(--space-6)}}html,body{font-family:var(--font-primary)}body{background:var(--background);color:var(--foreground)}*{font-family:var(--font-primary)}a.link-inline{color:var(--color-link-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);text-decoration-color:var(--color-link-underline-faded);text-underline-offset:3px;text-decoration-thickness:.75px;transition:text-decoration-color .3s ease-out}a.link-inline:hover{-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}.text-headline{margin:0;font-size:var(--font-size-headline)!important;font-weight:var(--font-weight-medium)!important;letter-spacing:var(--letter-spacing-tight)!important;line-height:var(--line-height-tight)!important;color:var(--color-label-primary)!important;font-family:var(--font-primary)!important}h1.text-headline,h2.text-headline,h3.text-headline{font-size:var(--font-size-headline)!important;font-weight:var(--font-weight-medium)!important;letter-spacing:var(--letter-spacing-tight)!important;line-height:var(--line-height-tight)!important;color:var(--color-label-primary)!important;font-family:var(--font-primary)!important}@media (min-width:640px){.text-headline,h1.text-headline,h2.text-headline,h3.text-headline{font-size:var(--font-size-headline-sm)!important}}@media (min-width:768px){.text-headline,h1.text-headline,h2.text-headline,h3.text-headline{font-size:var(--font-size-headline-md)!important}}.text-headline-sm{font-size:var(--font-size-headline-sm)!important}.text-body{font-size:var(--font-size-body);letter-spacing:var(--letter-spacing-normal);font-weight:400;line-height:var(--line-height-relaxed);color:var(--color-label-secondary);font-family:var(--font-primary)}@media (min-width:640px){.text-body{font-size:var(--font-size-body-sm)}}@media (min-width:768px){.text-body{font-size:var(--font-size-body-md)}}.text-caption{font-size:var(--font-size-caption);line-height:var(--line-height-relaxed);color:var(--color-label-secondary)}@media (min-width:640px){.text-caption{font-size:var(--font-size-caption-sm)}}.text-badge{font-size:var(--font-size-badge);font-weight:var(--font-weight-medium);color:var(--color-label-primary)}@media (min-width:640px){.text-badge{font-size:var(--font-size-badge-sm)}}.link-pill{height:2.25rem;font-size:var(--font-size-badge);font-weight:var(--font-weight-medium);color:var(--color-label-primary);border-radius:var(--radius-lg);background-color:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform,background-color;align-items:center;gap:.375rem;padding-left:.875rem;padding-right:1rem;text-decoration:none;transition:background-color .2s ease-out,transform .2s ease-out;display:inline-flex}.link-pill:hover{background-color:var(--color-surface-elevated)}.link-pill:active{transform:scale(.97)}@media (min-width:640px){.link-pill{font-size:var(--font-size-badge-sm)}}.bg-surface{background-color:var(--color-surface)}.bg-surface:hover{background-color:var(--color-surface-elevated)}.p-card{padding:var(--padding-card)}.p-container{padding-left:var(--padding-container);padding-right:var(--padding-container)}@media (min-width:640px){.p-container{padding-left:var(--padding-container-sm);padding-right:var(--padding-container-sm)}}@media (min-width:768px){.p-container{padding-left:var(--padding-container-md);padding-right:var(--padding-container-md)}}.p-section{padding-top:var(--padding-section);padding-bottom:var(--padding-section)}@media (min-width:640px){.p-section{padding-top:var(--padding-section-sm);padding-bottom:var(--padding-section-sm)}}@media (min-width:768px){.p-section{padding-top:var(--padding-section-md);padding-bottom:var(--padding-section-md)}}.section-top-padding{padding-top:var(--padding-section-top)}@media (min-width:640px){.section-top-padding{padding-top:var(--padding-section-top-sm)}}@media (min-width:768px){.section-top-padding{padding-top:var(--padding-section-top-md)}}.section-top-margin{margin-top:var(--padding-section-top)}@media (min-width:640px){.section-top-margin{margin-top:var(--padding-section-top-sm)}}@media (min-width:768px){.section-top-margin{margin-top:var(--padding-section-top-md)}}.gap-tight{gap:var(--spacing-gap-sm)}.gap-normal{gap:var(--spacing-gap-lg)}.gap-relaxed{gap:var(--spacing-gap-2xl)}.m-section{margin-top:var(--margin-lg);margin-bottom:var(--margin-lg)}.mb-section{margin-bottom:var(--margin-lg)}.mt-section{margin-top:var(--margin-lg)}.mb-element{margin-bottom:var(--margin-md)}.mt-element{margin-top:var(--margin-md)}.radius-card{border-radius:var(--radius-card)}.radius-element{border-radius:var(--radius-element)}.radius-icon{border-radius:var(--radius-icon)}.radius-avatar{border-radius:var(--radius-avatar)}.radius-pill{border-radius:var(--radius-pill)}.hero-layout{align-items:flex-start;gap:var(--spacing-gap-2xl);flex-direction:row;display:flex}.intro-section{gap:var(--spacing-gap-md);min-width:0;max-width:calc(100% - 280px - var(--spacing-gap-2xl));flex-direction:column;flex:auto;margin-left:auto;display:flex}.to-reach-me-section{flex-direction:column;flex:none;margin-bottom:0;display:flex}.to-reach-me-heading{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-label-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-gap-lg);margin-top:0}.to-reach-me-links{gap:var(--spacing-gap-xs);flex-direction:column;display:flex}.to-reach-me-link{font-size:var(--font-size-body);color:var(--color-link-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);text-decoration-color:var(--color-link-underline-faded);text-underline-offset:3px;text-decoration-thickness:.75px;transition:text-decoration-color .3s ease-out,color .2s ease-out}.to-reach-me-link:hover{color:var(--color-link-text);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}.projects-table-container{width:100%}.projects-layout{gap:var(--spacing-gap-2xl);grid-template-columns:280px 1fr;align-items:start;display:grid}.projects-sidebar{top:var(--padding-section-top);align-self:start;gap:var(--spacing-gap-2xl);z-index:10;flex-direction:column;height:fit-content;display:flex;position:sticky}.projects-heading-sticky{padding-bottom:var(--spacing-gap-md);margin-bottom:var(--spacing-gap-2xl);border-bottom:1px solid var(--border);align-self:flex-start;width:100%;margin-top:0;padding-top:0}.projects-heading{margin:0;line-height:1}.toc-section{flex-direction:column;display:flex}.toc-heading{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-label-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-gap-lg);margin-top:0}.toc-nav{gap:var(--spacing-gap-sm);flex-direction:column;display:flex}.toc-item{text-align:left;font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s ease-out}.toc-item:hover:not(:disabled){color:var(--color-label-primary)}.toc-item-active{color:var(--color-label-primary);font-weight:var(--font-weight-medium)}.toc-item-hidden{opacity:.3;cursor:not-allowed}.filter-by-section{flex-direction:column;display:flex}.filter-by-heading{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-label-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-gap-lg);margin-top:0}.filter-tags-grid{gap:var(--spacing-gap-xs);flex-wrap:wrap;display:flex}.filter-tag-pill{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-label-primary);background-color:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-colors),transform var(--duration-fast)var(--ease-standard);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;padding:.375rem .75rem;text-decoration:none;display:inline-flex}.filter-tag-pill:hover{background-color:var(--color-surface-elevated)}.filter-tag-pill-active{background-color:var(--color-label-primary);color:var(--color-background);border-color:var(--color-label-primary)}.projects-content{min-width:0}.projects-table-wrapper{flex-direction:column;display:flex}.projects-table-header{top:var(--padding-section-top);z-index:10;background-color:var(--bg);padding-bottom:var(--spacing-gap-md);margin-bottom:var(--spacing-gap-md);border-bottom:1px solid var(--border);margin-top:0;padding-top:0;position:sticky}.projects-table-header-spacer{display:none}.projects-table-body{gap:var(--spacing-gap-2xl);flex-direction:column;display:flex}.projects-table-row{gap:var(--spacing-gap-lg);grid-template-columns:2fr 1fr 1fr 2fr;align-items:start;display:grid}.projects-table-cell{flex-direction:column;display:flex}.projects-table-header-label{font-size:var(--font-size-caption);color:var(--color-label-primary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.projects-table-value{font-size:var(--font-size-body);color:var(--color-label-primary);font-weight:var(--font-weight-regular)}.project-entry{gap:var(--spacing-gap-md);scroll-margin-top:var(--padding-section-top);flex-direction:column;display:flex}.project-tags{gap:var(--spacing-gap-xs);flex-wrap:wrap;display:flex}.tag-pill{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-label-primary);background-color:var(--color-surface);border-radius:var(--radius-sm);border:none;align-items:center;padding:.25rem .5rem;text-decoration:none;display:inline-flex}.tag-pill-display{cursor:default;pointer-events:none}.project-description{margin-top:var(--spacing-gap-sm)}.project-description p{font-size:var(--font-size-body);color:var(--color-label-secondary);line-height:var(--line-height-relaxed);margin:0}.project-asset-link{margin-top:var(--spacing-gap-sm);text-decoration:none;display:block}.project-asset-container{width:100%}@media (max-width:768px){.hero-layout{gap:var(--spacing-gap-xl);flex-direction:column}.projects-table-container{max-width:100%}.projects-layout{gap:var(--spacing-gap-xl);grid-template-columns:1fr}.projects-sidebar{position:relative;top:0}.toc-nav{gap:var(--spacing-gap-sm);grid-template-columns:repeat(2,1fr);display:grid}.projects-table-row{gap:var(--spacing-gap-md);grid-template-columns:1fr}.projects-table-header{position:relative}}.app-layout{min-height:100vh;display:flex}.app-main-content{min-width:0;margin-left:var(--sidebar-width);flex:1}body.sidebar-collapsed .app-main-content{margin-left:var(--sidebar-width-collapsed)}.sidebar-navigation{height:100vh;width:var(--sidebar-width);background-color:var(--bg);border-right:1px solid var(--border);z-index:100;padding-inline:var(--sidebar-gutter-x);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-navigation.sidebar-collapsed{width:var(--sidebar-width-collapsed);padding-inline:var(--sidebar-pad-collapsed);box-sizing:border-box;justify-content:center;align-items:center}.sidebar-content{flex-direction:column;width:100%;height:100%;padding-inline:0;display:flex}.sidebar-header{width:100%;height:var(--header-height);justify-content:space-between;align-items:center;padding:0;display:flex}.sidebar-collapsed .sidebar-header{justify-content:center}.sidebar-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.sidebar-collapsed .sidebar-header-actions{justify-content:center}.sidebar-logo{flex:1}.sidebar-logo-text{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text);font-family:var(--font-sans);line-height:var(--leading-tight);padding-left:16px}.sidebar-toggle-mobile{display:none}@media (max-width:768px){.sidebar-toggle-desktop{display:none}.sidebar-toggle-mobile{display:flex}}.sidebar-nav{padding:var(--space-2)0;flex:1;overflow-y:auto}.sidebar-nav-list{gap:var(--space-1);flex-direction:column;align-items:stretch;margin:0;padding:0;list-style:none;display:flex}.sidebar-collapsed .sidebar-nav-list{align-items:center;gap:var(--sidebar-icon-gap)}.sidebar-collapsed .sidebar-logo{display:none}.ui-button{justify-content:center;align-items:center;gap:var(--gap-inline);font-family:var(--font-sans);font-weight:var(--font-medium);border-radius:var(--radius-element);cursor:pointer;transition:var(--transition-colors);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;min-height:32px;display:inline-flex;position:relative}.ui-button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button-sm{height:var(--button-height-sm);padding:var(--button-padding-y-sm)var(--button-padding-x-sm);font-size:var(--button-font-size-sm)}.ui-button-md{height:var(--button-height-md);padding:var(--button-padding-y-md)var(--button-padding-x-md);font-size:var(--button-font-size-md)}.ui-button-lg{height:var(--button-height-lg);padding:var(--button-padding-y-lg)var(--button-padding-x-lg);font-size:var(--button-font-size-lg)}.ui-button-primary{color:var(--text);background-color:var(--surface)}.ui-button-primary:hover:not(:disabled),.ui-button-primary:active:not(:disabled){background-color:var(--surface-2)}.ui-button-secondary{color:var(--muted);background-color:#0000}.ui-button-secondary:hover:not(:disabled){color:var(--text);background-color:var(--surface-hover)}.ui-button-ghost{color:var(--muted);background-color:#0000}.ui-button-ghost:hover:not(:disabled){color:var(--text);background-color:var(--surface-hover)}.ui-button-outline{color:var(--muted);border:1px solid var(--border);background-color:#0000}.ui-button-outline:hover:not(:disabled){color:var(--text);border-color:var(--surface-2);background-color:var(--surface)}.ui-button-content{align-items:center;display:flex}.ui-button-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-button-icon-left{margin-right:calc(var(--button-gap)*-.5)}.ui-button-icon-right{margin-left:calc(var(--button-gap)*-.5)}.ui-button-full-width{width:100%}.ui-icon-button{font-family:var(--font-sans);cursor:pointer;transition:var(--transition-colors);-webkit-user-select:none;user-select:none;border:none;flex-shrink:0;place-items:center;padding:0;display:inline-grid;position:relative}.ui-icon-button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-icon-button)}.ui-icon-button:disabled{cursor:not-allowed;opacity:.5}.ui-icon-button-sm{block-size:32px;min-block-size:32px;inline-size:32px;min-inline-size:32px}.ui-icon-button-md{inline-size:var(--hit-square);block-size:var(--hit-square);min-inline-size:var(--hit-square);min-block-size:var(--hit-square)}.ui-icon-button-ghost{color:var(--muted);border-radius:var(--radius-icon-button);background-color:#0000}.ui-icon-button-ghost:hover:not(:disabled){color:var(--text);background-color:var(--surface-hover)}.ui-icon-button-ghost:active:not(:disabled){background-color:var(--surface-active)}.ui-icon-button-solid{color:var(--text);background-color:var(--surface);border-radius:var(--radius-icon-button)}.ui-icon-button-solid:hover:not(:disabled),.ui-icon-button-solid:active:not(:disabled){background-color:var(--surface-2)}.ui-icon-button-icon{width:var(--icon-size);height:var(--icon-size);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-icon-button-icon svg,.ui-icon-button-icon :is(svg){width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.ui-icon-button-sm .ui-icon-button-icon svg,.ui-icon-button-sm .ui-icon-button-icon :is(svg){width:var(--icon-size-sm);height:var(--icon-size-sm)}.ui-link{align-items:center;gap:var(--link-gap);transition:var(--transition-color);font-family:var(--font-primary);text-decoration:none;display:inline-flex}.ui-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.ui-link-inline{color:var(--color-link-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);text-decoration-color:var(--color-link-underline-faded);text-decoration-thickness:var(--link-underline-thickness);text-underline-offset:var(--link-underline-offset);transition:var(--transition-color),text-decoration-color var(--transition-normal)}.ui-link-inline:hover{-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}.text-body .ui-link-inline,.text-body a.ui-link-inline,.text-body.ui-link-inline,a.text-body.ui-link-inline{white-space:normal;width:auto;max-width:none;line-height:inherit;vertical-align:baseline;color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:.1em;text-decoration-skip-ink:auto;border-radius:var(--link-radius);cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color var(--duration-fast)var(--ease-standard),color var(--duration-fast)var(--ease-standard),text-decoration-color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard);background-color:#0000;border:none;flex:none;align-self:auto;margin:0;padding:0;text-decoration-thickness:2px;box-shadow:0 0 #0000;display:inline!important}.text-body .ui-link-inline:hover,.text-body a.ui-link-inline:hover,.text-body.ui-link-inline:hover,a.text-body.ui-link-inline:hover{color:inherit;background-color:var(--link-hover-bg);box-shadow:0 0 0 3px var(--link-hover-bg);border:none;outline:none;text-decoration-color:#0000}.text-body .ui-link-inline:focus-visible,.text-body a.ui-link-inline:focus-visible,.text-body.ui-link-inline:focus-visible,a.text-body.ui-link-inline:focus-visible{color:inherit;background-color:var(--link-hover-bg);box-shadow:0 0 0 3px var(--link-hover-bg);outline:2px solid var(--link-focus-ring);outline-offset:2px;border:none;text-decoration-color:#0000}.text-body .ui-link-inline:active,.text-body a.ui-link-inline:active,.text-body.ui-link-inline:active,a.text-body.ui-link-inline:active{background-color:var(--link-active-bg);box-shadow:0 0 0 3px var(--link-active-bg);border:none;outline:none;text-decoration-color:#0000}.text-body .ui-link-inline .ui-link-content,.text-body a.ui-link-inline .ui-link-content,.text-body.ui-link-inline .ui-link-content,a.text-body.ui-link-inline .ui-link-content{display:inline!important}.text-body .ui-link-inline .ui-link-external-indicator,.text-body.ui-link-inline .ui-link-external-indicator,a.text-body.ui-link-inline .ui-link-external-indicator{display:none!important}.ui-link-standalone{color:var(--color-link-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);-webkit-text-decoration-color:var(--color-link-underline-faded);text-decoration-color:var(--color-link-underline-faded);text-decoration-thickness:var(--link-underline-thickness);text-underline-offset:var(--link-underline-offset);transition:var(--transition-color),text-decoration-color var(--transition-normal)}.ui-link-standalone:hover{color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);-webkit-text-decoration-color:var(--color-link-underline);text-decoration-color:var(--color-link-underline)}.ui-link-button{padding:var(--button-padding-y-md)var(--button-padding-x-md);color:var(--color-primary);background-color:var(--color-primary-background);border-radius:var(--button-radius);transition:var(--transition-all);font-weight:var(--font-weight-medium);font-size:var(--button-font-size-md);height:var(--button-height-md);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ui-link-button:hover{color:var(--color-primary-hover);background-color:var(--color-primary-background-hover)}.ui-link-content{align-items:center;display:flex}.ui-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:flex}.ui-link-icon-left{margin-right:calc(var(--link-gap)*-.5)}.ui-link-icon-right{margin-left:calc(var(--link-gap)*-.5)}.ui-link-external-indicator{margin-left:var(--spacing-1);opacity:.6;transition:var(--transition-opacity);align-items:center;display:inline-flex}.ui-link-inline:hover .ui-link-external-indicator{opacity:1}.ui-nav-item{align-items:center;gap:var(--nav-item-gap);width:100%;height:var(--nav-item-height);padding:0 var(--nav-item-pad-x);color:var(--muted);transition:var(--transition-colors),border-radius var(--duration-fast)var(--ease-standard);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-semibold);border-radius:var(--radius-row);display:flex;position:relative;text-decoration:none!important}.ui-nav-item:hover{background-color:var(--surface-hover);color:var(--text);border-radius:var(--nav-item-radius-hover);text-decoration:none!important}.ui-nav-item:focus-visible{border-radius:var(--nav-item-radius-hover);outline:2px solid var(--ring);outline-offset:2px}.ui-nav-item-active,.ui-nav-item[aria-current=page]{color:var(--text);background-color:var(--surface-active);border-radius:var(--nav-item-radius-hover);text-decoration:none!important}.ui-nav-item-active:hover,.ui-nav-item[aria-current=page]:hover{border-radius:var(--nav-item-radius-hover)}.ui-nav-item-icon{width:var(--icon-size);height:var(--icon-size);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-nav-item-icon svg,.ui-nav-item-icon :is(svg){width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.ui-nav-item-label{white-space:nowrap;opacity:1;transition:opacity var(--duration-fast)var(--ease-standard);overflow:hidden}.ui-nav-item-collapsed{inline-size:var(--hit-square);block-size:var(--hit-square);min-inline-size:var(--hit-square);min-block-size:var(--hit-square);border-radius:var(--radius-icon-button);place-items:center;width:auto;height:auto;padding:0;display:grid}.ui-nav-item-collapsed:hover,.ui-nav-item-collapsed:focus-visible,.ui-nav-item-collapsed.ui-nav-item-active,.ui-nav-item-collapsed[aria-current=page],.ui-nav-item-collapsed.ui-nav-item-active:hover,.ui-nav-item-collapsed[aria-current=page]:hover{border-radius:var(--radius-icon-button)}.ui-nav-item-collapsed .ui-nav-item-label{opacity:0;width:0;overflow:hidden}.ui-card{border-radius:var(--radius-card);font-family:var(--font-sans);transition:var(--transition-colors);overflow:visible}.ui-card-elevated{background-color:var(--surface);border:1px solid var(--border)}.ui-card-elevated:hover{border-color:var(--surface-2)}.ui-card-outlined{background-color:var(--bg);border:1px solid var(--border)}.ui-card-flat{background-color:#0000}.ui-card-padding-sm{padding:var(--card-padding-sm)}.ui-card-padding-md{padding:var(--card-padding-md)}.ui-card-padding-lg{padding:var(--card-padding-lg)}.ui-card-header{margin-bottom:var(--card-gap)}.ui-card-header:last-child{margin-bottom:0}.ui-card-body{flex:1;overflow:visible}.ui-card-body+.ui-card-footer{margin-top:var(--card-gap)}.ui-card-footer{margin-top:var(--card-gap);padding-top:var(--card-gap);border-top:1px solid var(--border)}.ui-card-footer:first-child{border-top:none;margin-top:0;padding-top:0}.work-item{border-radius:var(--link-radius);background:0 0;margin-top:0;margin-bottom:0;display:block}.work-item--link{color:inherit;cursor:pointer;transition:background-color var(--duration-fast),box-shadow var(--duration-fast);border-radius:var(--link-radius);margin-left:-12px;margin-right:-12px;padding:8px 12px;text-decoration:none}.work-item--link:hover{background-color:var(--link-hover-bg)}.work-item--link:active{background-color:#00000014}.work-item--link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;background-color:var(--link-hover-bg)}.work-item__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.work-item__title-row{align-items:baseline;gap:var(--space-2);display:inline-flex}.work-item__time{color:var(--color-label-secondary);font-size:var(--text-sm);white-space:nowrap;font-weight:400}.work-item__readmore{opacity:0;pointer-events:none;transition:opacity var(--duration-fast);color:var(--color-label-secondary);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0}.work-item--link:hover .work-item__readmore,.work-item--link:focus-visible .work-item__readmore{opacity:1;pointer-events:auto}.work-item--no-underline,.work-item--no-underline *,.work-item--no-underline:hover,.work-item--no-underline:focus,.work-item--no-underline:active{text-decoration:none!important}.work-item--plain{background:0 0!important;border-radius:0!important;margin:0!important;padding:0!important}.work-item--plain:hover,.work-item--plain:active,.work-item--plain:focus,.work-item--plain:focus-visible{box-shadow:none!important;background:0 0!important;outline:none!important}.ui-badge{font-family:var(--font-primary);font-weight:var(--font-weight-medium);border-radius:var(--badge-radius);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.ui-badge-sm{height:var(--badge-height-sm);padding:var(--badge-padding-y-sm)var(--badge-padding-x-sm);font-size:var(--badge-font-size-sm)}.ui-badge-md{height:var(--badge-height-md);padding:var(--badge-padding-y-md)var(--badge-padding-x-md);font-size:var(--badge-font-size-md)}.ui-badge-default{color:var(--color-label-secondary);background-color:var(--color-surface)}.ui-badge-primary{color:var(--color-label-primary);background-color:var(--color-surface-elevated)}.ui-badge-secondary{color:var(--color-label-secondary);background-color:var(--color-surface);border:1px solid var(--color-surface-elevated)}.ui-badge-clickable{cursor:pointer;transition:var(--transition-all);border:none}.ui-badge-clickable:hover{background-color:var(--color-surface-elevated);color:var(--color-label-primary)}.ui-badge-clickable:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.ui-badge-clickable:active{transform:scale(.98)}.ui-avatar{border-radius:var(--avatar-radius);background-color:var(--color-surface);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.ui-avatar-sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm)}.ui-avatar-md{width:var(--avatar-size-md);height:var(--avatar-size-md)}.ui-avatar-lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg)}.ui-avatar-image{object-fit:cover;width:100%;height:100%}.ui-avatar-fallback{width:100%;height:100%;font-family:var(--font-primary);font-weight:var(--font-weight-medium);color:var(--color-label-primary);background-color:var(--color-surface-elevated);justify-content:center;align-items:center;font-size:.75em;display:flex}.ui-container{width:100%;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);margin-left:auto;margin-right:auto}@media (min-width:640px){.ui-container{padding-left:var(--container-padding-x-sm);padding-right:var(--container-padding-x-sm)}}@media (min-width:768px){.ui-container{padding-left:var(--container-padding-x-md);padding-right:var(--container-padding-x-md)}}.ui-container-sm{max-width:640px}.ui-container-md{max-width:768px}.ui-container-lg{max-width:1024px}.ui-container-xl{max-width:var(--container-max-width)}.ui-container-full{max-width:100%}.ui-section{width:100%}.ui-section-padding-top{padding-top:var(--padding-section-top)}.ui-section-padding-bottom{padding-bottom:var(--padding-section)}.ui-section-padding-both{padding-top:var(--padding-section-top);padding-bottom:var(--padding-section)}@media (min-width:640px){.ui-section-padding-top{padding-top:var(--padding-section-top-sm)}.ui-section-padding-bottom{padding-bottom:var(--padding-section-sm)}.ui-section-padding-both{padding-top:var(--padding-section-top-sm);padding-bottom:var(--padding-section-sm)}}@media (min-width:768px){.ui-section-padding-top{padding-top:var(--padding-section-top-md)}.ui-section-padding-bottom{padding-bottom:var(--padding-section-md)}.ui-section-padding-both{padding-top:var(--padding-section-top-md);padding-bottom:var(--padding-section-md)}}.ui-section-spacious{padding-top:calc(var(--padding-section-top)*1.5);padding-bottom:calc(var(--padding-section)*1.5)}.ui-section-compact{padding-top:calc(var(--padding-section-top)*.5);padding-bottom:calc(var(--padding-section)*.5)}.ui-separator{background-color:var(--separator-color);border:none;flex-shrink:0}.ui-separator-horizontal{width:100%;height:var(--separator-thickness);margin:0}.ui-separator-vertical{width:var(--separator-thickness);height:100%;margin:0}.ui-separator-spacing-sm{margin:var(--spacing-2)0}.ui-separator-spacing-md{margin:var(--separator-spacing)0}.ui-separator-spacing-lg{margin:var(--spacing-5)0}.ui-separator-vertical.ui-separator-spacing-sm{margin:0 var(--spacing-2)}.ui-separator-vertical.ui-separator-spacing-md{margin:0 var(--separator-spacing)}.ui-separator-vertical.ui-separator-spacing-lg{margin:0 var(--spacing-6)}.app-toolbar{z-index:50;background-color:var(--bg);border-bottom:1px solid var(--border);height:var(--header-height);align-items:center;display:flex;position:sticky;top:0}.app-toolbar-content{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:0;display:flex}.app-toolbar-mobile-menu-button{display:none}@media (max-width:768px){.app-toolbar-mobile-menu-button{margin-right:var(--space-2);display:flex}}.app-toolbar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text);font-family:var(--font-sans);line-height:var(--leading-tight);padding-left:var(--content-gutter)}@media (max-width:768px){.app-toolbar-title{padding-left:0}}.app-toolbar-actions{align-items:center;gap:var(--gap-inline);margin-left:auto;display:flex}.app-content-wrapper{width:100%;min-height:calc(100vh - 48px)}.page-layout{width:100%;padding-left:var(--page-gutter);padding-right:var(--page-gutter);padding-top:var(--page-pad-y);padding-bottom:var(--page-pad-y)}.page-layout-wide{max-width:var(--page-max-width-wide);margin-left:auto;margin-right:auto}.page-layout-narrow{max-width:var(--page-max-width-narrow);margin-left:auto;margin-right:auto}.page-layout-header{margin-bottom:var(--page-header-gap)}.ui-input{width:100%;padding:var(--space-2)var(--space-3);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-element);transition:var(--transition-colors);font-family:var(--font-sans);min-height:32px}.ui-input:focus{border-color:var(--ring);outline:none}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-input-error{border-color:#dc2626}.ui-input-sm{padding:var(--space-2)var(--space-3);font-size:var(--text-sm);height:32px}.ui-input-md{padding:var(--space-2)var(--space-3);font-size:var(--text-base);height:40px}.ui-input-lg{padding:var(--space-3)var(--space-4);font-size:var(--text-base);height:48px}.ui-tooltip{padding:var(--spacing-2)var(--spacing-3);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-label-primary);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-element);box-shadow:var(--shadow-md);z-index:1000;max-width:200px}.ui-dialog-backdrop{z-index:1000;background-color:#0006;animation:.15s ease-out fadeIn;position:fixed;inset:0}.ui-dialog-viewport{z-index:1001;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-dialog{background-color:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);border:1px solid var(--border);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.2s ease-out slideUp;display:flex}.ui-dialog-header{padding:var(--spacing-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);display:flex}.ui-dialog-title{font-size:var(--font-size-headline);font-weight:var(--font-weight-semibold);color:var(--color-label-primary);font-family:var(--font-primary);margin:0}.ui-dialog-description{font-size:var(--font-size-body);color:var(--color-label-secondary);margin-top:var(--spacing-2)}.ui-dialog-close{flex-shrink:0;margin-left:auto}.ui-dialog-content{padding:var(--spacing-5);flex:1;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ui-toast-viewport{z-index:2000;padding:var(--spacing-4);gap:var(--spacing-2);pointer-events:none;flex-direction:column;width:100%;max-width:400px;margin:0;list-style:none;display:flex;position:fixed;top:0;right:0}.ui-toast{pointer-events:auto;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);animation:.2s ease-out slideInRight;display:flex}.ui-toast-success{border-color:var(--color-success)}.ui-toast-error{border-color:var(--color-danger)}.ui-toast-content{flex:1;min-width:0}.ui-toast-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-label-primary);margin:0 0 var(--spacing-1)0}.ui-toast-description{font-size:var(--font-size-caption);color:var(--color-label-secondary);margin:0}.ui-toast-actions{align-items:center;gap:var(--spacing-2);flex-shrink:0;display:flex}.ui-toast-action-button,.ui-toast-close{flex-shrink:0}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.database-tag-chip{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-colors)}.database-table-header{background-color:var(--surface);border-bottom:1px solid var(--border)}.database-table-row{transition:var(--transition-colors)}.database-table-row:hover{background-color:var(--surface-hover)}.database-table-row:focus-within{background-color:var(--surface-hover);outline:2px solid var(--ring);outline-offset:-2px}.database-table-row-link{color:inherit;text-decoration:none}.database-table-row-link:focus-visible{outline:none}.sidebar-backdrop{display:none}@media (max-width:768px){.app-layout{position:relative}.sidebar-backdrop{z-index:99;background-color:#00000080;animation:.15s ease-out fadeIn;display:block;position:fixed;inset:0}.sidebar-navigation{z-index:100;transition:transform .3s ease-out;transform:translate(-100%)}.sidebar-navigation.sidebar-open{transform:translate(0)}.app-main-content,body.sidebar-collapsed .app-main-content{margin-left:0}.app-toolbar-content{padding:0 var(--spacing-4)}.app-content-wrapper{min-height:calc(100vh - 56px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.unicorn-embed{width:100%;height:100%}.unicorn-embed a[href*=unicorn\.studio],.unicorn-embed a[href*=unicorn\.studio] *{visibility:hidden!important;pointer-events:none!important;display:none!important}@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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}
