.nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:56px}.nav__brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none}.nav__actions{display:flex;align-items:center;gap:var(--spacing-md)}.nav__link{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none;min-height:var(--tap-target-min);min-width:var(--tap-target-min);display:flex;align-items:center;justify-content:center}.nav__link:hover{color:var(--color-text)}.nav__lang-toggle{min-height:var(--tap-target-min);min-width:var(--tap-target-min);display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);transition:all var(--transition-fast)}.nav__lang-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.home{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.home__header{text-align:center;margin-bottom:var(--spacing-2xl)}.home__header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.home__header p{font-size:var(--font-size-lg);color:var(--color-text-muted)}.home__modes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);width:100%;max-width:860px}@media(max-width:700px){.home__modes{grid-template-columns:1fr 1fr;max-width:640px}}@media(max-width:500px){.home__modes{grid-template-columns:1fr}}.mode-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);transition:all var(--transition-normal);min-height:200px;justify-content:center}.mode-card:hover{border-color:var(--color-primary);background:var(--color-surface-alt);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.mode-card__icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.mode-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.mode-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.taste-radar{display:flex;flex-direction:column;gap:var(--spacing-sm)}.taste-bar{display:grid;grid-template-columns:80px 1fr 24px;align-items:center;gap:var(--spacing-sm)}.taste-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize}.taste-track{height:8px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.taste-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal);min-width:0}.taste-value{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.substitute-popover{position:absolute;z-index:20;top:100%;left:0;width:280px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md)}.substitute-popover__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.substitute-popover__header h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.3}.substitute-popover__close{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);transition:background var(--transition-fast)}.substitute-popover__close:hover{background:var(--color-surface-alt)}.substitute-popover__loading,.substitute-popover__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--spacing-sm) 0}.substitute-popover__list{list-style:none;margin:0;padding:0}.substitute-popover__item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.substitute-popover__item:last-child{border-bottom:none}.substitute-popover__item-main{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.substitute-popover__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.substitute-popover__item-score{font-size:var(--font-size-xs);color:var(--color-primary);white-space:nowrap}.substitute-popover__item-ratio{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.substitute-popover__item-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.substitute-popover__tag{display:inline-block;padding:1px var(--spacing-xs);background:var(--color-surface-alt);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.recipe-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.recipe-card--compact{padding:var(--spacing-md);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);border:1px solid var(--color-border)}.recipe-card--compact:hover{background:var(--color-surface-alt)}.recipe-card--full{padding:var(--spacing-lg)}.recipe-card__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.recipe-card__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2}.recipe-card--compact .recipe-card__name{font-size:var(--font-size-lg)}.recipe-card__badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.badge--family{background:var(--color-primary);color:var(--color-text-inverse)}.badge--difficulty{background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge--difficulty[data-level="3"]{border-color:var(--color-warning);color:var(--color-warning)}.badge--intensity{background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge--intensity[data-level="3"]{border-color:var(--color-error);color:var(--color-error)}.recipe-card__description{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.recipe-card__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize}.recipe-card__body{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media(max-width:600px){.recipe-card__body{grid-template-columns:1fr}}.recipe-card__body h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.recipe-card__ingredients ul{list-style:none}.ingredient{display:grid;grid-template-columns:70px 1fr auto;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);align-items:center}.ingredient__amount{font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium)}.ingredient__name-wrapper{position:relative}.ingredient__name{font-size:var(--font-size-sm)}.ingredient__name--clickable{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--color-text-muted);text-underline-offset:2px;cursor:pointer;transition:color var(--transition-fast);min-height:var(--tap-target-min);display:inline-flex;align-items:center;padding:0 var(--spacing-sm)}.ingredient__name--clickable:hover{color:var(--color-primary);text-decoration-color:var(--color-primary)}.ingredient__role{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.recipe-card__steps ol{list-style:none;counter-reset:steps}.step{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.step__number{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.step__content{flex:1}.step__text{font-size:var(--font-size-sm);line-height:1.5}.step__tip{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-alpha);border-left:2px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.recipe-card__flavor{margin-bottom:var(--spacing-md)}.recipe-card__flavor h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center;margin-top:var(--spacing-sm)}.tag-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:var(--spacing-xs)}.tag{display:inline-block;padding:2px var(--spacing-sm);background:var(--color-surface-alt);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text);text-transform:capitalize}.recipe-card__source{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.level-selector{border:none;padding:0}.level-selector__label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);display:block}.level-selector__options{display:flex;gap:var(--spacing-xs)}.level-option{min-height:var(--tap-target-min);min-width:var(--tap-target-min);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:all var(--transition-fast);flex:1}.level-option:hover{border-color:var(--color-primary);color:var(--color-text)}.level-option--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.lucky{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.lucky h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}.lucky__filters{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:480px}.lucky__go{min-height:var(--tap-target-min);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast);margin-top:var(--spacing-sm)}.lucky__go:hover:not(:disabled){background:var(--color-primary-hover)}.lucky__go:disabled{opacity:.6;cursor:not-allowed}.lucky__error{color:var(--color-error);padding:var(--spacing-md);background:var(--color-error-alpha);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.lucky__result{max-width:720px}.lucky__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.lucky__another{min-height:var(--tap-target-min);padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.lucky__another:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-inverse)}.lucky__another:disabled{opacity:.6;cursor:not-allowed}.describe{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.describe h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.describe__subtitle{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.describe__form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:600px;margin-bottom:var(--spacing-xl)}.describe__input{width:100%;resize:vertical;min-height:80px;font-size:var(--font-size-base);line-height:1.5}.describe__submit{align-self:flex-start;min-height:var(--tap-target-min);padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast)}.describe__submit:hover:not(:disabled){background:var(--color-primary-hover)}.describe__submit:disabled{opacity:.6;cursor:not-allowed}.describe__error{color:var(--color-error);padding:var(--spacing-md);background:var(--color-error-alpha);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.describe__fallback{padding:var(--spacing-md);background:var(--color-warning-alpha);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.describe__results{max-width:720px}.describe__explanation{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-style:italic;color:var(--color-text-muted);border-left:3px solid var(--color-primary)}.describe__recipes{display:flex;flex-direction:column;gap:var(--spacing-md)}.recipe-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-xl);max-width:720px}.recipe-page__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target-min);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);transition:border-color var(--transition-fast)}.recipe-page__back:hover{border-color:var(--color-primary)}.recipe-page__loading{color:var(--color-text-muted);padding:var(--spacing-xl) 0}.recipe-page__error{color:var(--color-error);padding:var(--spacing-md);background:var(--color-error-alpha);border-radius:var(--radius-md)}.recipe-page__variations{margin-top:var(--spacing-xl)}.recipe-page__variations h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.variations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.variation-card{display:flex;flex-direction:column;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);transition:all var(--transition-normal);min-height:var(--tap-target-min)}.variation-card:hover{border-color:var(--color-primary);background:var(--color-surface-alt);text-decoration:none}.variation-card__badge{display:inline-block;align-self:flex-start;padding:2px var(--spacing-sm);background:var(--color-surface-alt);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.variation-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);line-height:1.3}.variation-card__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.variation-card__match{font-size:var(--font-size-xs);color:var(--color-primary);margin-top:var(--spacing-sm)}.ingredient-picker{width:100%}.ingredient-picker__input-wrapper{position:relative}.ingredient-picker__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--tap-target-min);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text);transition:border-color var(--transition-fast)}.ingredient-picker__input:focus{outline:none;border-color:var(--color-primary)}.ingredient-picker__input::placeholder{color:var(--color-text-muted)}.ingredient-picker__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);list-style:none;margin:0;padding:0;box-shadow:var(--shadow-lg)}.ingredient-picker__option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--tap-target-min);text-align:left;transition:background var(--transition-fast)}.ingredient-picker__option:hover{background:var(--color-surface-alt)}.ingredient-picker__option-name{font-size:var(--font-size-sm)}.ingredient-picker__option-cat{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.ingredient-picker__selected{margin-top:var(--spacing-md)}.ingredient-picker__label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.ingredient-picker__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ingredient-picker__tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);min-height:var(--tap-target-min);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-sm);transition:opacity var(--transition-fast)}.ingredient-picker__tag:hover{opacity:.8}.ingredient-picker__tag-x{font-size:var(--font-size-xs);opacity:.7}.find-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-xl);max-width:720px}.find-page__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}.find-page__controls{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(max-width:500px){.find-page__controls{flex-direction:column}}.find-page__mode-toggle{display:flex;gap:var(--spacing-xs)}.find-page__mode-btn{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--tap-target-min);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.find-page__mode-btn--active{border-color:var(--color-primary);background:var(--color-surface-alt)}.find-page__mode-btn:hover{border-color:var(--color-primary)}.find-page__mode-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.find-page__mode-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.find-page__search-btn{padding:var(--spacing-sm) var(--spacing-xl);min-height:var(--tap-target-min);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:opacity var(--transition-fast);white-space:nowrap}.find-page__search-btn:hover:not(:disabled){opacity:.9}.find-page__search-btn:disabled{opacity:.5;cursor:not-allowed}.find-page__error{margin-top:var(--spacing-md);color:var(--color-error);padding:var(--spacing-md);background:var(--color-error-alpha);border-radius:var(--radius-md)}.find-page__empty{margin-top:var(--spacing-xl);color:var(--color-text-muted);text-align:center}.find-page__results{margin-top:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.find-page__result{display:flex;flex-direction:column;gap:var(--spacing-xs)}.find-page__match-info{display:flex;align-items:center;gap:var(--spacing-md);padding:0 var(--spacing-sm)}.find-page__match-pct{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.find-page__missing{font-size:var(--font-size-xs);color:var(--color-text-muted)}.settings{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);max-width:480px}.settings h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl)}.settings__section{margin-bottom:var(--spacing-xl)}.settings__section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-text-muted)}.settings__options{display:flex;gap:var(--spacing-md)}.settings__option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);min-height:var(--tap-target-min);transition:all var(--transition-fast);cursor:pointer}.settings__option:hover{border-color:var(--color-primary)}.settings__option--active{border-color:var(--color-primary);background:var(--color-surface-alt)}.settings__option-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.settings__option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}:root{--color-primary: #d4a574;--color-primary-hover: #c4955e;--color-secondary: #7a9e7e;--color-background: #1a1a2e;--color-surface: #252540;--color-surface-alt: #2e2e4a;--color-text: #e8e8f0;--color-text-muted: #9898b0;--color-text-inverse: #1a1a2e;--color-accent: #d4a574;--color-error: #e06060;--color-success: #7a9e7e;--color-warning: #d4a574;--color-border: #3a3a55;--color-primary-alpha: rgba(212, 165, 116, .1);--color-primary-focus: rgba(212, 165, 116, .3);--color-error-alpha: rgba(224, 96, 96, .1);--color-warning-alpha: rgba(212, 165, 116, .1);--font-family-base: "Inter", system-ui, -apple-system, sans-serif;--font-family-heading: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--tap-target-min: 44px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease;--max-width: 960px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,textarea{font-family:inherit;font-size:inherit;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-focus)}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md);width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
