@layer reset{*,*:after,*:before{box-sizing:border-box;margin:0;padding:0}:where(html){hanging-punctuation:first allow-end last;interpolate-size:allow-keywords;scrollbar-gutter:stable;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}:where(html.translated-rtl){direction:rtl}@media(prefers-reduced-motion:reduce){:where(html){scroll-behavior:auto}}:where(body){line-height:1.5;min-block-size:100svb;min-inline-size:300px}:where(canvas,img,picture,svg,video){block-size:auto;border:none;display:block;max-inline-size:100%}:where(button,input,progress,select,textarea){appearance:none;background:transparent;border:none;color:inherit;font:inherit;hanging-punctuation:none;line-height:inherit;text-align:start;touch-action:manipulation}:where(button){cursor:pointer;-webkit-user-select:none;user-select:none}:where(textarea){resize:vertical}:where(textarea:not([rows])){min-height:3em}@supports (field-sizing: content){:where(textarea:not([rows])){field-sizing:content}}:where(fieldset,iframe){border:none}:where(p,li,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word;text-wrap:pretty}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}:where(abbr[title]){border:none;text-decoration:none}:where(cite){font-style:inherit}:where(small){font-size:inherit}:where(li,ol,ul){list-style:none}:where(dialog,[popover]){background:transparent;border:none;color:inherit;margin:auto;max-block-size:none;max-inline-size:none;position:fixed}:where([popover]){inset:auto}:where(dialog:not([open],[popover]),[popover]:not(:popover-open)){display:none}:where([hidden]:not([hidden=until-found])){display:none!important}}@layer theme{:root{--bp-xs: 320px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--bp-4k: 3840px;--color-primary-50: oklch(.96 .1 187);--color-primary-50-foreground: oklch(.08 0 0);--color-primary-50-hover: oklch(.92 .1 187);--color-primary-50-active: oklch(.88 .1 187);--color-primary-100: oklch(.92 .1 187);--color-primary-100-foreground: oklch(.08 0 0);--color-primary-100-hover: oklch(.88 .1 187);--color-primary-100-active: oklch(.84 .1 187);--color-primary-200: oklch(.88 .1 187);--color-primary-200-foreground: oklch(.08 0 0);--color-primary-200-hover: oklch(.84 .1 187);--color-primary-200-active: oklch(.8 .1 187);--color-primary-300: oklch(.84 .1 187);--color-primary-300-foreground: oklch(.08 0 0);--color-primary-300-hover: oklch(.8 .1 187);--color-primary-300-active: oklch(.76 .1 187);--color-primary-400: oklch(.76 .1 187);--color-primary-400-foreground: oklch(.08 0 0);--color-primary-400-hover: oklch(.72 .1 187);--color-primary-400-active: oklch(.68 .1 187);--color-primary-500: oklch(.7 .1 187);--color-primary-500-foreground: oklch(1 0 0);--color-primary-500-hover: oklch(.65 .1 187);--color-primary-500-active: oklch(.6 .1 187);--color-primary-600: oklch(.6 .1 187);--color-primary-600-foreground: oklch(1 0 0);--color-primary-600-hover: oklch(.55 .1 187);--color-primary-600-active: oklch(.5 .1 187);--color-primary-700: oklch(.5 .1 187);--color-primary-700-foreground: oklch(1 0 0);--color-primary-700-hover: oklch(.55 .1 187);--color-primary-700-active: oklch(.45 .1 187);--color-primary-800: oklch(.4 .1 187);--color-primary-800-foreground: oklch(1 0 0);--color-primary-800-hover: oklch(.45 .1 187);--color-primary-800-active: oklch(.35 .1 187);--color-primary-900: oklch(.3 .1 187);--color-primary-900-foreground: oklch(1 0 0);--color-primary-900-hover: oklch(.35 .1 187);--color-primary-900-active: oklch(.25 .1 187);--color-background-main: oklch(.252 0 0);--color-background-main-foreground: oklch(.8206 .0014 286.37);--color-background-main-inverse: oklch(1 .0014 286.37);--color-background-main-inverse-foreground: oklch(.1794 .0014 286.37);--color-surface-main: oklch(.2046 0 0);--color-surface-main-hover: oklch(.3327 0 0);--color-surface-main-foreground: oklch(.8206 .0014 286.37);--color-gray-50: oklch(.6927 0 0);--color-gray-100: oklch(.6727 0 0);--color-gray-200: oklch(.6327 0 0);--color-gray-300: oklch(.5627 0 0);--color-gray-400: oklch(.4427 0 0);--color-gray-500: oklch(.3727 0 0);--color-gray-600: oklch(.3327 0 0);--color-gray-700: oklch(.2727 0 0);--color-gray-800: oklch(.1927 0 0);--color-gray-900: oklch(.1227 0 0);--color-error-500: oklch(.58 .22 25);--color-error-600: oklch(.48 .22 25);--color-success-500: oklch(.65 .18 145);--color-warning-500: oklch(.72 .17 75);--color-white: oklch(1 0 0);--color-border: oklch(.2931 0 0);--color-border-strong: oklch(.6227 0 0);--color-border-subtle: oklch(.3227 0 0);--color-focus-ring: rgba(59, 189, 13, .1);--color-main-text: oklch(.92 .0014 286.37);--color-main-text-inverse: oklch(.1794 .0014 286.37);--color-secondary-text: oklch(.6993 0 0);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-xs: clamp(.625rem, .6rem + .125vw, .75rem);--font-size-sm: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-base: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-md: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-lg: clamp(1rem, .9rem + .5vw, 1.25rem);--font-size-xl: clamp(1.125rem, 1rem + .625vw, 1.5rem);--font-size-2xl: clamp(1.375rem, 1.2rem + .875vw, 2rem);--font-size-3xl: clamp(1.625rem, 1.4rem + 1.125vw, 2.5rem);--font-size-4xl: clamp(1.875rem, 1.5rem + 1.875vw, 3rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.75;--space-xs: clamp(.125rem, .1rem + .125vw, .25rem);--space-sm: clamp(.25rem, .2rem + .25vw, .5rem);--space-md: clamp(.5rem, .4rem + .5vw, 1rem);--space-lg: clamp(.75rem, .6rem + .75vw, 1.5rem);--space-xl: clamp(1rem, .8rem + 1vw, 2rem);--space-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);--space-3xl: clamp(2rem, 1.5rem + 2.5vw, 4rem);--avatar-size-sm: clamp(24px, 20px + 2vw, 32px);--avatar-size-md: clamp(36px, 30px + 3vw, 48px);--avatar-size-lg: clamp(56px, 48px + 4vw, 80px);--button-height-sm: clamp(28px, 26px + .5vw, 32px);--button-height-md: clamp(36px, 34px + .5vw, 40px);--button-height-lg: clamp(40px, 38px + 1vw, 48px);--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-prose: 65ch;--container-full: 100%;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-2xl: 32px;--border-radius-3xl: 40px;--border-radius-4xl: 48px;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px oklch(0 0 0 / .15);--shadow-md: 0 4px 6px -1px oklch(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px oklch(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px oklch(0 0 0 / .1);--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-popover: 400;--z-tooltip: 500;--z-toast: 600;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--layout-gutter: clamp(1rem, 4vw, 5rem);--layout-gutter-sm: clamp(.5rem, 2vw, 2rem)}@supports (color: oklch(from white l c h)){:root{--color-primary-50: oklch(from var(--color-primary-500) calc(l + .26) c h);--color-primary-50-foreground: oklch(.08 0 0);--color-primary-50-hover: oklch(from var(--color-primary-500) calc(l + .22) c h);--color-primary-50-active: oklch(from var(--color-primary-500) calc(l + .18) c h);--color-primary-100: oklch(from var(--color-primary-500) calc(l + .22) c h);--color-primary-100-foreground: oklch(.08 0 0);--color-primary-100-hover: oklch(from var(--color-primary-500) calc(l + .18) c h);--color-primary-100-active: oklch(from var(--color-primary-500) calc(l + .14) c h);--color-primary-200: oklch(from var(--color-primary-500) calc(l + .18) c h);--color-primary-200-foreground: oklch(.08 0 0);--color-primary-200-hover: oklch(from var(--color-primary-500) calc(l + .14) c h);--color-primary-200-active: oklch(from var(--color-primary-500) calc(l + .1) c h);--color-primary-300: oklch(from var(--color-primary-500) calc(l + .14) c h);--color-primary-300-foreground: oklch(.08 0 0);--color-primary-300-hover: oklch(from var(--color-primary-500) calc(l + .1) c h);--color-primary-300-active: oklch(from var(--color-primary-500) calc(l + .06) c h);--color-primary-400: oklch(from var(--color-primary-500) calc(l + .06) c h);--color-primary-400-foreground: oklch(.08 0 0);--color-primary-400-hover: oklch(from var(--color-primary-500) calc(l + .02) c h);--color-primary-400-active: oklch(from var(--color-primary-500) calc(l - .02) c h);--color-primary-500-foreground: oklch(1 0 0);--color-primary-500-hover: oklch(from var(--color-primary-500) calc(l - .05) c h);--color-primary-500-active: oklch(from var(--color-primary-500) calc(l - .1) c h);--color-primary-600: oklch(from var(--color-primary-500) calc(l - .1) c h);--color-primary-600-foreground: oklch(1 0 0);--color-primary-600-hover: oklch(from var(--color-primary-500) calc(l - .15) c h);--color-primary-600-active: oklch(from var(--color-primary-500) calc(l - .2) c h);--color-primary-700: oklch(from var(--color-primary-500) calc(l - .2) c h);--color-primary-700-foreground: oklch(1 0 0);--color-primary-700-hover: oklch(from var(--color-primary-500) calc(l - .15) c h);--color-primary-700-active: oklch(from var(--color-primary-500) calc(l - .25) c h);--color-primary-800: oklch(from var(--color-primary-500) calc(l - .3) c h);--color-primary-800-foreground: oklch(1 0 0);--color-primary-800-hover: oklch(from var(--color-primary-500) calc(l - .25) c h);--color-primary-800-active: oklch(from var(--color-primary-500) calc(l - .35) c h);--color-primary-900: oklch(from var(--color-primary-500) calc(l - .4) c h);--color-primary-900-foreground: oklch(1 0 0);--color-primary-900-hover: oklch(from var(--color-primary-500) calc(l - .35) c h);--color-primary-900-active: oklch(from var(--color-primary-500) calc(l - .45) c h);--color-gray-100: oklch(from var(--color-gray-50) calc(l - .02) c h);--color-gray-200: oklch(from var(--color-gray-50) calc(l - .06) c h);--color-gray-300: oklch(from var(--color-gray-50) calc(l - .13) c h);--color-gray-400: oklch(from var(--color-gray-50) calc(l - .25) c h);--color-gray-500: oklch(from var(--color-gray-50) calc(l - .32) c h);--color-gray-600: oklch(from var(--color-gray-50) calc(l - .36) c h);--color-gray-700: oklch(from var(--color-gray-50) calc(l - .42) c h);--color-gray-800: oklch(from var(--color-gray-50) calc(l - .5) c h);--color-gray-900: oklch(from var(--color-gray-50) calc(l - .57) c h);--color-error-600: oklch(from var(--color-error-500) calc(l - .1) c h);--color-border-strong: oklch(from var(--color-gray-900) calc(l + .5) c h)}}body{font-family:var(--font-family)}.auth-layout{display:flex;align-items:center;justify-content:center;min-height:100svh;padding:var(--layout-gutter-sm)}.google-button{display:inline-flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:Google Sans,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-sm);font-weight:500;height:var(--button-height-md);padding:0 var(--space-lg);cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base);width:100%}.google-button:hover:not(:disabled){background-color:#f8f9fa;box-shadow:var(--shadow-sm)}.google-button:active:not(:disabled){background-color:#f1f3f4}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button:focus-visible{outline:2px solid #4285f4;outline-offset:2px}.google-logo{width:18px;height:18px;margin-right:var(--space-md);flex-shrink:0}}@layer surface{.surface{display:block}.surface--default{background:var(--color-surface-main);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-lg) var(--space-xl);color:var(--color-main-text);display:flex;flex-direction:column;gap:var(--space-lg)}@media(min-width:768px){.surface--default{padding:var(--space-xl) var(--space-2xl);gap:var(--space-xl)}}.surface--elevated{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}.surface--outlined{background:transparent;border:2px solid var(--color-border);border-radius:var(--border-radius-md)}.surface--collection{background:var(--color-surface-main);border-radius:var(--border-radius-lg);padding:var(--space-lg)}@media(min-width:768px){.surface--collection{border-radius:var(--border-radius-4xl);padding:var(--space-xl) var(--space-2xl)}}.surface--auth{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:min(3vh,1.8rem) min(5vw,3rem);width:clamp(20rem,50vw,30rem)}}@layer app-header{:root{--app-header-height: clamp(64px, 10vw, 138px);--app-header-x-padding: var(--layout-gutter)}.app-header{height:var(--app-header-height);display:flex;align-items:center;padding-inline:var(--app-header-x-padding);position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-background-main);border-bottom:1px solid transparent;transition:border-color var(--transition-base)}.app-header--scrolled{border-bottom-color:var(--color-border)}.app-header__nav{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex:1}.app-header__home-link{color:var(--color-main-text);text-decoration:none;transition:color var(--transition-base);font-weight:500;font-size:var(--font-size-lg)}.app-header__home-link:hover{color:var(--color-primary-500)}.app-header__auth-links{display:flex;gap:var(--space-sm);align-items:center}.app-header__auth-link{color:var(--color-main-text);text-decoration:none;transition:color var(--transition-base);font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.app-header__auth-link:hover{color:var(--color-primary-500)}@media(min-width:768px){.app-header__auth-links{gap:var(--space-md)}}}@layer avatar{.avatar{display:inline-flex;border-radius:var(--border-radius-full);overflow:hidden;flex-shrink:0}.avatar--sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm)}.avatar--md{width:var(--avatar-size-md);height:var(--avatar-size-md)}.avatar--lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg)}.avatar__image{width:100%;height:100%;object-fit:cover}.avatar__fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100);color:var(--color-gray-600);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.avatar--sm .avatar__fallback{font-size:var(--font-size-xs)}.avatar--lg .avatar__fallback{font-size:var(--font-size-base)}}@layer button{.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.button--primary{background:var(--color-primary-500);color:var(--color-primary-500-foreground)}.button--primary:hover:not([data-disabled]):not(:disabled){background:var(--color-primary-600)}.button--primary:active:not([data-disabled]):not(:disabled){background:var(--color-primary-700)}.button--secondary{background:transparent;color:var(--color-primary-500);border:1px solid var(--color-primary-500)}.button--secondary:hover:not([data-disabled]):not(:disabled){background:var(--color-primary-500);color:var(--color-primary-500-foreground)}.button--secondary:active:not([data-disabled]):not(:disabled){background:var(--color-primary-600);color:var(--color-primary-500-foreground)}.button--ghost{background:transparent;color:var(--color-main-text-inverse)}.button--ghost:is(a){text-decoration:none}.button--ghost:hover:not([data-disabled]):not(:disabled):not(:is(a)){background:var(--color-main-text-inverse);color:var(--color-primary-500-foreground)}.button--ghost:is(a):hover:not([data-disabled]):not(:disabled){text-decoration:underline}.button--fit{width:fit-content}.button--full{width:100%}.button--sm{height:var(--button-height-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);min-width:44px}.button--md{height:var(--button-height-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.button--lg{height:var(--button-height-lg);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}.button[data-disabled],.button:disabled{opacity:.5;cursor:not-allowed}.button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.button__spinner{width:1em;height:1em;animation:button-spin 1.5s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}}@layer checkbox{.checkbox{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;min-height:44px}.checkbox__control{width:20px;height:20px;flex-shrink:0;border:2px solid var(--color-border-strong);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast);background:var(--color-white)}.checkbox__control:hover{border-color:var(--color-primary-500)}[data-scope=checkbox][data-part=control][data-state=checked],[data-scope=checkbox][data-part=control][data-state=indeterminate]{background:var(--color-primary-500);border-color:var(--color-primary-500)}.checkbox__indicator{color:var(--color-white);display:flex;align-items:center;justify-content:center}.checkbox__label{font-size:var(--font-size-sm);color:var(--color-gray-800);-webkit-user-select:none;user-select:none}[data-scope=checkbox][data-part=root][data-disabled]{opacity:.5;cursor:not-allowed}}@layer field{.field,.field--grid{display:flex;flex-direction:column;gap:var(--space-xs)}@media(min-width:480px){.field--grid{display:grid;grid-template-columns:6rem 1fr;gap:var(--space-sm);align-items:center}}.field--list{display:flex;flex-direction:column;gap:var(--space-xs)}.field--list .field__input{margin-bottom:var(--space-sm)}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field__label--default{color:var(--color-main-text)}.field__label--inverse{color:var(--color-main-text-inverse)}@media(min-width:768px){.field__label{font-size:var(--font-size-md)}}.field__input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-white);background:var(--color-background-main);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%;min-height:var(--button-height-md)}.field__input--inverse{color:var(--color-main-text-inverse);background:var(--color-background-main-inverse)}.field__input::placeholder{color:var(--color-secondary-text)}.field__input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}.field__input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}[data-scope=field][data-part=input][data-invalid]{border-color:var(--color-error-500)}[data-scope=field][data-part=input][data-invalid]:focus{box-shadow:0 0 0 3px oklch(from var(--color-error-500) l c h / .1)}.field__helper-text{font-size:var(--font-size-xs);color:var(--color-gray-500)}.field__error-text{font-size:var(--font-size-xs);color:var(--color-error-500)}.field__textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-white);background:var(--color-background-main);transition:border-color var(--transition-base),box-shadow var(--transition-base);resize:vertical;width:100%;min-height:5rem}.field__textarea::placeholder{color:var(--color-secondary-text)}.field__textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}.field__textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}[data-scope=field][data-part=textarea][data-invalid]{border-color:var(--color-error-500)}[data-scope=field][data-part=textarea][data-invalid]:focus{box-shadow:0 0 0 3px oklch(from var(--color-error-500) l c h / .1)}}@layer fieldset{.fieldset{display:flex;flex-direction:column;gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-md);margin:0}@media(min-width:768px){.fieldset{padding:var(--space-lg)}}.fieldset__legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);padding:0 var(--space-xs)}.fieldset__helper-text{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--space-xs)}.fieldset__error-text{font-size:var(--font-size-xs);color:var(--color-error-500);margin-top:var(--space-xs)}}@layer password-input{.password-input{display:flex;flex-direction:column;gap:var(--space-xs)}.password-input__input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-main-text);background:var(--color-white);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%;min-height:var(--button-height-md)}.password-input__input--inverse{color:var(--color-main-text-inverse);background:var(--color-background-main-inverse)}.password-input__visibility-trigger--inverse{color:var(--color-main-text-inverse)}.password-input__input::placeholder{color:var(--color-secondary-text)}.password-input__input:hover{border-color:var(--color-primary-500)}.password-input__input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}.password-input__input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}.password-input__visibility-trigger{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm);border:none;background:transparent;color:var(--color-gray-600);cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color var(--transition-base),color var(--transition-base);min-width:44px;min-height:44px}.password-input__visibility-trigger:hover{background:var(--color-gray-50);color:var(--color-gray-800)}.password-input__visibility-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}}@layer pill-button{.pill-button{border-radius:var(--border-radius-full);background:var(--color-primary-300);color:var(--color-primary-300-foreground);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-xs);border:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pill-button--sm{height:26px;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);min-width:44px}.pill-button--md{height:28px;padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.pill-button:hover:not([data-disabled]):not(:disabled){background:var(--color-primary-300-hover)}.pill-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.pill-button[data-disabled],.pill-button:disabled{opacity:.5;cursor:not-allowed}}@layer radio-group{.radio-group{display:flex;flex-direction:column;gap:var(--space-xs)}.radio-group__item{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;min-height:44px}.radio-group__item-control{width:20px;height:20px;flex-shrink:0;border:2px solid var(--color-border-strong);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;transition:border-color var(--transition-fast);background:var(--color-white)}.radio-group__item-control:hover,[data-scope=radio-group][data-part=item-control][data-state=checked]{border-color:var(--color-primary-500)}.radio-group__item-indicator{width:10px;height:10px;border-radius:var(--border-radius-full);background:var(--color-primary-500);opacity:0;transition:opacity var(--transition-fast)}[data-scope=radio-group][data-part=item-control][data-state=checked] .radio-group__item-indicator{opacity:1}.radio-group__item-text{font-size:var(--font-size-sm);color:var(--color-gray-800);-webkit-user-select:none;user-select:none}.radio-group__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);margin-bottom:var(--space-sm)}[data-scope=radio-group][data-part=item][data-disabled]{opacity:.5;cursor:not-allowed}}@layer switch{.switch{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;min-height:44px}.switch__control{position:relative;background:var(--color-gray-100);border-radius:var(--border-radius-full);transition:background-color var(--transition-fast);flex-shrink:0}.switch--sm .switch__control{width:36px;height:20px;padding:2px}.switch--sm .switch__thumb{width:16px;height:16px}.switch--sm [data-scope=switch][data-part=control][data-state=checked] .switch__thumb{transform:translate(16px)}.switch--md .switch__control{width:44px;height:24px;padding:2px}.switch--md .switch__thumb{width:20px;height:20px}.switch--md [data-scope=switch][data-part=control][data-state=checked] .switch__thumb{transform:translate(20px)}[data-scope=switch][data-part=control][data-state=checked]{background:var(--color-primary-500)}.switch__thumb{background:var(--color-white);border-radius:var(--border-radius-full);transition:transform var(--transition-fast)}.switch__label{font-size:var(--font-size-sm);color:var(--color-gray-800);-webkit-user-select:none;user-select:none}[data-scope=switch][data-part=root][data-disabled]{opacity:.5;cursor:not-allowed}}@layer toggle{.toggle{display:inline-flex}.toggle__control{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);min-height:44px;min-width:44px}.toggle__control:hover:not([data-disabled]){background:var(--color-gray-50);border-color:var(--color-primary-500)}[data-scope=toggle][data-part=control][data-state=on]{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-white)}[data-scope=toggle][data-part=control][data-disabled]{opacity:.5;cursor:not-allowed}.toggle__control:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}}@layer toggle-group{.toggle-group{display:inline-flex;flex-wrap:wrap;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden}.toggle-group__item{display:inline-flex;align-items:center;justify-content:center;border:none;border-right:1px solid var(--color-border);background:var(--color-white);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);min-height:44px;min-width:44px}.toggle-group__item:last-child{border-right:none}.toggle-group__item:hover:not([data-disabled]){background:var(--color-gray-50)}[data-scope=toggle-group][data-part=item][data-state=on]{background:var(--color-primary-500);color:var(--color-white)}[data-scope=toggle-group][data-part=item][data-disabled]{opacity:.5;cursor:not-allowed}.toggle-group__item:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}}@layer popover{.popover{position:relative}.popover__positioner{z-index:var(--z-popover)}.popover__content{z-index:var(--z-popover);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--space-md);width:calc(100vw - var(--space-lg) * 2);max-width:300px}@media(min-width:480px){.popover__content{width:auto}}.popover__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin:0 0 var(--space-xs) 0}.popover__description{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0 0 var(--space-md) 0}.popover__close-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);background:transparent;color:var(--color-gray-600);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--font-size-lg);line-height:1}.popover__close-trigger:hover{background:var(--color-gray-50);color:var(--color-gray-800)}.popover__close-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.popover__arrow{--arrow-background: var(--color-white);--arrow-shadow: var(--shadow-lg)}}@layer user-menu{.user-menu{position:relative}.user-menu__avatar-trigger{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.user-menu__avatar-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--border-radius-full)}.user-menu__content{background:var(--color-surface-main);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);min-width:180px;max-width:calc(100vw - var(--space-lg) * 2);padding:var(--space-xs);z-index:var(--z-popover)}@media(min-width:480px){.user-menu__content{min-width:200px}}.user-menu__menu{display:flex;flex-direction:column;gap:0}.user-menu__label{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-main-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xs);word-break:break-word}.user-menu__link,.user-menu__button{display:block;width:100%;text-align:left;padding:var(--space-sm) var(--space-md);color:var(--color-main-text);text-decoration:none;background:transparent;border:none;font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-base);border-radius:var(--border-radius-sm);margin:2px 0}.user-menu__link:hover,.user-menu__button:hover{background:var(--color-surface-main-hover)}.user-menu__link:focus-visible,.user-menu__button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}}@layer collection-item{.collection-item{display:flex;flex-direction:column;gap:var(--space-md);background:var(--color-surface-main);border-radius:var(--border-radius-md);border:3px solid var(--color-border-subtle);padding:var(--space-md)}.collection-item__header{display:flex;flex-direction:column;gap:var(--space-sm)}@media(min-width:480px){.collection-item__header{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}}.collection-item__header-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.collection-item__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-main-text);word-break:break-word}@media(min-width:768px){.collection-item__title{font-size:var(--font-size-xl)}}.collection-item__title a{color:inherit;text-decoration:none;transition:color var(--transition-base)}.collection-item__title a:hover{text-decoration:underline}.collection-item__description{margin:0;font-size:var(--font-size-sm);color:var(--color-secondary-text);line-height:var(--line-height-relaxed)}.collection-item__settings-button{flex-shrink:0}.collection-item__content{display:flex;flex-wrap:wrap;gap:var(--space-sm)}@media(min-width:768px){.collection-item__content{gap:var(--space-md)}}}@layer collections-list{.collections-list{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:768px){.collections-list{gap:var(--space-lg)}}}@layer post{.post-container{--post-width: clamp(10rem, 30vw, 15rem);--post-height: clamp(8.5rem, 25vw, 13rem);position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-sm);text-decoration:none;color:inherit;width:var(--post-width);height:var(--post-height);background:var(--color-background-main);border-radius:var(--border-radius-md);padding:var(--space-sm);border:3px solid var(--color-border-subtle);transition:filter var(--transition-fast)}@media(min-width:768px){.post-container{gap:var(--space-md);padding:var(--space-md);border-width:4px}}.post-container:hover{filter:brightness(.9)}.post-container__social-stats{grid-column:1;grid-row:1}.post-container__info-stats{grid-column:2;grid-row:1;display:flex;justify-content:flex-end}.post-container__footer{grid-column:1 / 3;grid-row:2;display:flex;flex-direction:column;gap:var(--space-xs);justify-content:flex-end;overflow:hidden}.add-post-button{--post-width: clamp(10rem, 30vw, 15rem);--post-height: clamp(8.5rem, 25vw, 13rem);display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;width:var(--post-width);height:var(--post-height);background:var(--color-surface-main);border-radius:var(--border-radius-md);border:3px solid var(--color-border-subtle);transition:filter var(--transition-fast)}@media(min-width:768px){.add-post-button{border-width:4px}}.add-post-button:hover{filter:brightness(.9)}}@layer garden-header{.garden-header{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) 0;padding-left:var(--space-md)}@media(min-width:768px){.garden-header{flex-direction:row;align-items:center}}.garden-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-main-text);margin:0}@media(min-width:768px){.garden-header__title{font-size:var(--font-size-4xl)}}.garden-header__actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}@media(min-width:768px){.garden-header__actions{justify-content:flex-end;flex:1;padding-top:var(--space-xs)}}}@layer garden-body{.garden-body{padding:var(--space-md) var(--layout-gutter)}@media(min-width:768px){.garden-body{padding:var(--space-lg) var(--layout-gutter)}}}@layer footer{.footer{padding:var(--space-lg) var(--layout-gutter);margin-top:auto;border-top:1px solid var(--color-border);background-color:var(--color-surface-main)}@media(min-width:768px){.footer{padding:var(--space-xl) var(--layout-gutter)}}.footer__container{max-width:1200px;margin:0 auto}.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}@media(min-width:768px){.footer__nav{gap:var(--space-lg);margin-bottom:var(--space-lg)}}.footer__link{color:var(--color-secondary-text);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-base);padding:var(--space-xs)}.footer__link:hover{color:var(--color-main-text)}.footer__copyright{margin:0;color:var(--color-secondary-text);text-align:center;font-size:var(--font-size-xs)}@media(min-width:768px){.footer__copyright{font-size:var(--font-size-sm)}}}@layer text{.text{font-family:var(--font-family);color:var(--color-main-text)}.text--body{font-weight:var(--font-weight-normal)}.text--body-inverse{font-weight:var(--font-weight-normal);color:var(--color-main-text-inverse)}.text--subtle{font-weight:var(--font-weight-normal);color:var(--color-gray-600)}.text--muted{font-weight:var(--font-weight-normal);color:var(--color-gray-500)}.text--heading{font-weight:var(--font-weight-bold);margin-bottom:var(--space-2xl)}.text--heading-inverse{font-weight:var(--font-weight-bold);color:var(--color-main-text-inverse)}.text--xs{font-size:var(--font-size-xs);line-height:var(--line-height-base)}.text--sm{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.text--md{font-size:var(--font-size-base);line-height:var(--line-height-base)}.text--lg{font-size:var(--font-size-lg);line-height:var(--line-height-base)}.text--xl{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.text--2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.text--3xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.text--4xl{font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}}@layer stack{.stack{display:flex;gap:var(--space-md)}.stack--horizontal{flex-direction:row}.stack--vertical{flex-direction:column}.stack--sm{gap:var(--space-sm)}.stack--lg{gap:var(--space-lg)}.stack--xl{gap:var(--space-xl)}}@layer toast{.toast{display:flex;flex-direction:column;gap:var(--space-xs);z-index:var(--z-toast);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--space-md);width:calc(100vw - var(--space-lg) * 2);max-width:400px}@media(min-width:480px){.toast{width:auto;min-width:300px}}.toast__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-800)}.toast__description{font-size:var(--font-size-sm);color:var(--color-gray-600)}.toast__action-trigger{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--border-radius-sm);background:var(--color-primary-500);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base)}.toast__action-trigger:hover{background:var(--color-primary-600)}.toast__action-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.toast__close-trigger{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--border-radius-sm);background:transparent;color:var(--color-gray-600);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--font-size-base);line-height:1}.toast__close-trigger:hover{background:var(--color-gray-50);color:var(--color-gray-800)}.toast__close-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}}@layer tooltip{.tooltip{position:relative}.tooltip__positioner{position:absolute;pointer-events:none;will-change:transform}.tooltip__content{z-index:var(--z-tooltip);background:var(--color-gray-900);color:var(--color-white);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:var(--line-height-base);max-width:min(250px,calc(100vw - var(--space-lg) * 2));box-shadow:var(--shadow-md);word-wrap:break-word}[data-theme=dark] .tooltip__content{background:var(--color-gray-700);color:var(--color-gray-100)}.tooltip__arrow{--arrow-background: var(--color-gray-900)}[data-theme=dark] .tooltip__arrow{--arrow-background: var(--color-gray-700)}}@layer select{.select{position:relative;width:100%}.select__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-main-text);margin-bottom:var(--space-xs)}@media(min-width:768px){.select__label{font-size:var(--font-size-md)}}.select__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-background-main);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-white);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);width:100%;min-height:var(--button-height-md);position:relative;text-align:left}.select__trigger:hover:not(:disabled):not([data-disabled]){border-color:var(--color-primary-500)}[data-scope=select][data-part=trigger][data-state=open]{border-color:var(--color-primary-500)}.select__trigger:focus-visible{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #4ba3f71a}@supports (color: oklch(from red l c h)){.select__trigger:focus-visible{box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}}.select__trigger:disabled,.select__trigger[data-disabled]{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}[data-scope=select][data-part=trigger][data-invalid]{border-color:var(--color-error-500)}[data-scope=select][data-part=trigger][data-invalid]:focus-visible{box-shadow:0 0 0 3px #dc35451a}@supports (color: oklch(from white l c h)){[data-scope=select][data-part=trigger][data-invalid]:focus-visible{box-shadow:0 0 0 3px oklch(from var(--color-error-500) l c h / .1)}}.select__value-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}[data-scope=select][data-part=value-text]:empty:before{content:attr(data-placeholder);color:var(--color-secondary-text)}.select__indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-secondary-text);transition:transform var(--transition-base),color var(--transition-base);width:1rem;height:1rem}[data-scope=select][data-part=trigger][data-state=open] .select__indicator,[data-scope=select][data-part=trigger][data-state=open] [data-scope=select][data-part=indicator]{transform:rotate(180deg)}.select__positioner{z-index:var(--z-dropdown, 1000)}.select__content{background:var(--color-background-main);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);max-height:300px;overflow-y:auto;overflow-x:hidden;width:var(--reference-width, 100%);animation:select-content-open .15s ease-out;outline:none}@keyframes select-content-open{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.select__content::-webkit-scrollbar{width:8px}.select__content::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--border-radius-sm)}.select__content::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--border-radius-sm)}.select__content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.select__item{padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-white);transition:background-color var(--transition-fast),color var(--transition-fast);min-height:44px;display:flex;align-items:center;gap:var(--space-sm);position:relative;outline:none}.select__item:hover,[data-scope=select][data-part=item][data-highlighted]{background:var(--color-gray-100);color:var(--color-main-text)}[data-scope=select][data-part=item][data-state=checked]{background:var(--color-primary-500);color:var(--color-primary-500-foreground);font-weight:var(--font-weight-medium)}[data-scope=select][data-part=item][data-state=checked]:hover,[data-scope=select][data-part=item][data-state=checked][data-highlighted]{background:var(--color-primary-600)}[data-scope=select][data-part=item][data-disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.select__item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select__item-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:inherit;opacity:0;transform:scale(.8);transition:opacity var(--transition-fast),transform var(--transition-fast)}[data-scope=select][data-part=item][data-state=checked] .select__item-indicator,[data-scope=select][data-part=item][data-state=checked] [data-scope=select][data-part=item-indicator]{opacity:1;transform:scale(1)}.select__hidden-select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;overflow:hidden}}@layer number-input{.number-input{display:flex;flex-direction:column;gap:var(--space-xs)}.number-input__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800)}.number-input__control{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.number-input__control:hover{border-color:var(--color-primary-500)}.number-input__control:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-focus-ring)}@supports (color: oklch(from white l c h)){.number-input__control:focus-within{box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}}.number-input__input{flex:1;padding:var(--space-sm) var(--space-md);border:none;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-800);background:var(--color-white);min-width:0;min-height:var(--button-height-md)}.number-input__input::placeholder{color:var(--color-gray-500)}.number-input__input:focus{outline:none}.number-input__input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}.number-input__decrement-trigger,.number-input__increment-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;border:none;background:var(--color-gray-100);color:var(--color-gray-800);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--font-size-lg);line-height:1;flex-shrink:0}.number-input__decrement-trigger:hover:not([data-disabled]),.number-input__increment-trigger:hover:not([data-disabled]){background:var(--color-gray-50);color:var(--color-primary-500)}.number-input__decrement-trigger[data-disabled],.number-input__increment-trigger[data-disabled]{opacity:.5;cursor:not-allowed}.number-input__decrement-trigger:focus-visible,.number-input__increment-trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}}@layer hover-card{.hover-card{position:relative}.hover-card__trigger{display:inline-block}.hover-card__content{z-index:var(--z-popover);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--space-md);width:calc(100vw - var(--space-lg) * 2);max-width:300px}@media(min-width:480px){.hover-card__content{width:auto}}.hover-card__arrow{--arrow-background: var(--color-white);--arrow-shadow: var(--shadow-lg)}}@layer file-upload{.file-upload{position:relative}.file-upload__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);margin-bottom:var(--space-xs)}.file-upload__trigger{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md);border:2px dashed var(--color-border);border-radius:var(--border-radius-md);background:var(--color-gray-50);color:var(--color-gray-600);cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base);font-size:var(--font-size-sm);width:100%}.file-upload__trigger:hover{border-color:var(--color-primary-500);background:var(--color-gray-100)}.file-upload__trigger:disabled{opacity:.5;cursor:not-allowed}.file-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--border-radius-md);background:var(--color-gray-50);color:var(--color-gray-600);cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base);text-align:center}@media(min-width:768px){.file-upload__dropzone{padding:var(--space-xl)}}.file-upload__dropzone:hover{border-color:var(--color-primary-500);background:var(--color-gray-100)}[data-scope=file-upload][data-part=dropzone][data-dragover]{border-color:var(--color-primary-500);background:var(--color-primary-50)}.file-upload__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white)}.file-upload__item-group{display:flex;flex-direction:column;gap:var(--space-sm)}.file-upload__item-preview{width:40px;height:40px;flex-shrink:0;border-radius:var(--border-radius-sm);overflow:hidden;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center}@media(min-width:768px){.file-upload__item-preview{width:48px;height:48px}}.file-upload__item-preview img{width:100%;height:100%;object-fit:cover}.file-upload__item-name{flex:1;font-size:var(--font-size-sm);color:var(--color-gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}}@layer combobox{.combobox{position:relative}.combobox__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);margin-bottom:var(--space-xs)}.combobox__input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-800);background:var(--color-white);transition:border-color var(--transition-base),box-shadow var(--transition-base);min-height:var(--button-height-md)}.combobox__input::placeholder{color:var(--color-gray-500)}.combobox__input:hover{border-color:var(--color-primary-500)}.combobox__input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px oklch(from var(--color-primary-500) l c h / .1)}.combobox__input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-gray-100)}.combobox__trigger{display:none}.combobox__content{z-index:var(--z-dropdown);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);max-height:250px;overflow-y:auto}.combobox__item{padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-800);transition:background-color var(--transition-fast);min-height:44px;display:flex;align-items:center}.combobox__item:hover,[data-scope=combobox][data-part=item][data-highlighted]{background:var(--color-gray-50)}[data-scope=combobox][data-part=item][data-state=checked]{background:var(--color-primary-50);color:var(--color-primary-500);font-weight:var(--font-weight-medium)}}@layer global{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background-color:var(--color-background-main);color:var(--color-background-main-foreground);margin:0;padding:0;min-height:100svh;font-size:var(--font-size-base);line-height:var(--line-height-base)}.app-layout{display:flex;flex-direction:column;min-height:100svh}.app-main{flex:1;padding:var(--layout-gutter-sm) var(--layout-gutter)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;margin-inline:auto;padding-inline:var(--layout-gutter)}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}.container--xl{max-width:var(--container-xl)}.container--prose{max-width:var(--container-prose)}}
