:root{--palette-brown-main: #795548;--palette-brown-light: #bea69e;--palette-brown-dark: #5D4037;--palette-orange-main: #eca349;--palette-orange-light: #ffdd9c;--palette-orange-dark: #b56a02;--palette-grey-10: #F5F5F5;--palette-grey-20: #EEEEEE;--palette-grey-50: #9E9E9E;--palette-grey-80: #424242;--palette-grey-90: #212121;--palette-white: #FFFFFF;--palette-success-main: #4CAF50;--palette-success-light: #81C784;--palette-success-dark: #388E3C;--palette-error-main: #F44336;--palette-error-light: #E57373;--palette-error-dark: #D32F2F;--palette-warning-main: #FFC107;--palette-warning-light: #FFEB3B;--palette-warning-dark: #FF9800;--color-primary: var(--palette-brown-main);--color-primary-active: var(--palette-brown-dark);--color-secondary: var(--palette-orange-main);--color-secondary-active: var(--palette-orange-dark);--color-success: var(--palette-success-main);--color-error: var(--palette-error-main);--color-warning: var(--palette-warning-main);--bg-app: var(--palette-grey-10);--bg-container: var(--palette-white);--bg-input: var(--palette-brown-light);--bg-input-focus: var(--palette-grey-20);--text-primary: var(--palette-grey-90);--text-secondary: var(--palette-grey-80);--text-placeholder: var(--palette-grey-50);--text-on-primary: var(--palette-white);--text-light: var(--palette-white);--text-dark: var(--palette-grey-90);--border-light: var(--palette-grey-20);--border-focus: var(--color-primary);--space-unit: 4px;--space-xs: calc(var(--space-unit) * 1);--space-sm: calc(var(--space-unit) * 2);--space-md: calc(var(--space-unit) * 4);--space-lg: calc(var(--space-unit) * 6);--space-xl: calc(var(--space-unit) * 8);--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 2rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--layout-section-gap: var(--space-lg);--layout-container-padding: var(--space-lg)}@media (min-width: 768px){:root{--space-md: calc(var(--space-unit) * 6);--space-lg: calc(var(--space-unit) * 8);--space-xl: calc(var(--space-unit) * 12);--layout-container-padding: var(--space-xl);--layout-section-gap: var(--space-xl)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:100px}html,body{height:100%;font-family:var(--font-family-base);background-color:var(--bg-app);color:var(--text-primary);overscroll-behavior-y:none}#root{height:100%}p{margin-bottom:var(--space-xl);font-size:var(--font-size-lg);text-shadow:var(--shadow-md)}h1{font-size:3rem;margin-bottom:var(--space-md);text-shadow:var(--shadow-md)}h2{font-size:2.5rem;margin-bottom:var(--space-lg)}@media (min-width: 768px){html{scroll-padding-top:90px}}.snap-container{height:100vh;height:100dvh;overflow-y:scroll;color:var(--text-light);scroll-snap-type:y mandatory;scroll-behavior:smooth}.snap-section{height:100vh;height:100dvh;width:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-md);text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all .2s ease;color:var(--text-on-primary);text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-active)}.btn-secondary{background-color:var(--color-secondary);color:var(--text-dark)}.btn-secondary:hover{background-color:var(--color-secondary-active)}.input-field{width:100%;padding:calc(var(--space-unit) * 3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);background-color:var(--bg-input);transition:border-color .3s;color:var(--text-primary)}.input-field:focus{outline:none;border-color:var(--border-focus)}.bg-overlay{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center}.bg-overlay:after{content:"";position:absolute;inset:0;background:#00000080}.relative-z2{position:relative;z-index:2}.text-light,.snap-section--dark{color:var(--text-light)}.text-dark,.snap-section--light{color:var(--text-dark)}.text-soft-light{color:var(--palette-grey-20)}.scroll-indicators{position:fixed;right:var(--space-sm);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);z-index:100}.indicator-dot{width:var(--space-sm);height:var(--space-sm);border-radius:50%;background-color:var(--palette-white);opacity:.5;transition:all .3s ease;border:1px solid transparent}.indicator-dot--active{opacity:1;transform:scale(1.4);background-color:var(--color-secondary);box-shadow:0 0 8px #0000004d}.indicator-dot:hover{opacity:.8}@media (min-width: 768px){.scroll-indicators{right:var(--space-lg);gap:var(--space-lg)}.indicator-dot{width:calc(var(--space-unit) * 3);height:calc(var(--space-unit) * 3);border:2px solid transparent}.indicator-dot--active{transform:scale(1.5)}}.auth-card{background-color:var(--bg-container);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:0 10px 25px #0003;width:100%;max-width:400px;z-index:2;text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl);text-align:left}.form-label{font-weight:700;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.input-field,select.input-field,textarea.input-field{width:100%;padding:12px 16px;border:2px solid transparent;border-radius:var(--radius-md);font-size:1rem;font-weight:500;background-color:var(--bg-input);color:var(--text-primary);transition:all .2s ease-in-out;font-family:var(--font-family-base)}textarea.input-field{min-height:100px;resize:vertical}.auth-link{color:var(--color-primary);text-decoration:none;font-weight:700;margin-top:var(--space-lg);display:inline-block;font-size:var(--font-size-sm)}.auth-link:hover{background-color:var(--bg-input-focus);text-decoration:underline}.auth-tabs-container{display:flex;width:100%;margin-bottom:var(--space-lg);border-bottom:2px solid var(--border-light)}.auth-tab{flex:1;padding-bottom:var(--space-md);border:none;background-color:transparent;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-2px}.auth-tab:hover{color:var(--color-secondary)}.auth-tab--active{color:var(--color-secondary);border-bottom-color:var(--color-secondary)}@keyframes popInSubtle{0%{opacity:0;transform:scale(.96) translateY(var(--space-md))}to{opacity:1;transform:scale(1) translateY(0)}}.page-pop-in{animation:popInSubtle .4s cubic-bezier(.25,.46,.45,.94) forwards;background-color:var(--bg-app)}.app-navbar{position:fixed;top:0;left:0;width:100%;height:60px;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateY(-100%);opacity:0}.navbar--sticky{background-color:#795548f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar--fixed{background-color:var(--palette-brown-main);box-shadow:0 2px 10px #0003}.navbar--visible{transform:translateY(0);opacity:1}.nav-logo{font-weight:700;font-size:var(--font-size-lg);color:var(--palette-white);display:flex;align-items:center;gap:var(--space-sm)}.nav-actions{display:flex;align-items:center;gap:var(--space-sm)}.btn-sm{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);font-size:var(--font-size-sm)}.btn-logout{background-color:var(--color-primary);color:var(--palette-white)!important;transition:all .2s ease}.btn-logout:hover{background-color:var(--color-error)!important;box-shadow:0 2px 8px #d32f2f66}.nav-buttons-group{display:none}.nav-user-name{font-size:var(--font-size-sm);margin-right:0!important}@media (min-width: 768px){.app-navbar{height:70px;padding:0 var(--space-lg)}.nav-logo{font-size:1.5rem}.nav-actions{gap:var(--space-md)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.nav-buttons-group{display:flex;gap:var(--space-md);align-items:center}.nav-user-name{margin-right:var(--space-md)!important;font-size:var(--font-size-base)}}@media (max-width: 400px){.nav-user-name{display:none}}.rules-container{max-width:800px;margin:0 auto;width:100%}.rules-tabs{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;position:sticky;top:60px;z-index:10;background-color:#f5f5f5d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-md) 0;margin-left:calc(var(--space-lg) * -1);margin-right:calc(var(--space-lg) * -1);padding-left:var(--space-lg);padding-right:var(--space-lg);border-bottom:1px solid rgba(0,0,0,.05)}.rules-tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);border:none;background-color:var(--bg-container);box-shadow:0 2px 5px #0000000d;color:var(--text-secondary);font-weight:700;cursor:pointer;border-radius:30px;transition:all .2s ease}.rules-tab:hover{background-color:var(--palette-orange-main);box-shadow:0 4px 8px #0000001a;transform:translateY(-1px);color:var(--text-primary)}.rules-tab--active{background-color:var(--color-primary)!important;color:var(--text-on-primary)!important;box-shadow:0 4px 12px #79554866!important;transform:translateY(0)!important}.rules-content-card{background-color:var(--bg-container);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-md);box-shadow:none;line-height:1.6;color:var(--text-primary)}.rule-section-title{color:var(--color-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--palette-grey-20);font-size:var(--font-size-lg)}.rules-content-card p{margin-bottom:var(--space-md);font-size:var(--font-size-base)}.rules-content-card strong{color:var(--color-primary)}.rules-snap-container{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.rules-snap-container::-webkit-scrollbar{display:none}.rules-snap-target{width:100%;flex-shrink:0;scroll-snap-align:start}@media (min-width: 768px){.rules-tabs{top:80px;margin-left:0;margin-right:0;padding-left:0;padding-right:0;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none}.rules-tab{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);background-color:var(--palette-brown-light)}.rules-content-card{padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.rule-section-title{font-size:1.5rem;margin-bottom:var(--space-lg)}.rules-content-card p{font-size:var(--font-size-base);margin-bottom:var(--space-lg)}.rules-snap-container{gap:var(--space-md);padding:0 1px}}.profile-container{max-width:500px;margin:0 auto;width:100%}.profile-card{background-color:var(--bg-container);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.profile-menu{display:flex;flex-direction:column}.profile-menu-item{padding:var(--space-lg);background:none;border:none;border-bottom:1px solid var(--palette-grey-20);text-align:left;font-size:var(--font-size-base);font-weight:500;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.profile-menu-item:hover{background-color:var(--palette-grey-10)}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item .arrow{color:var(--palette-grey-20)}.menu-divider{height:var(--space-lg);background-color:var(--palette-grey-10);border-top:1px solid var(--palette-grey-20);border-bottom:1px solid var(--palette-grey-20)}.profile-subview{padding:var(--space-lg);animation:popInSubtle .3s ease forwards}.subview-title{margin-bottom:var(--space-lg);color:var(--color-primary);border-bottom:2px solid var(--palette-grey-20);padding-bottom:var(--space-sm)}.form-group{margin-bottom:var(--space-lg)}.action-buttons{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.profile-page-container{min-height:100vh;background-color:var(--palette-grey-10);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);padding-bottom:80px;position:relative}.profile-content-scroll{width:100%;max-width:500px;z-index:1}.btn-return-floating{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);background-color:var(--palette-white);color:var(--color-primary);font-weight:700;padding:calc(var(--space-unit) * 3) var(--space-lg);border-radius:30px;border:none;box-shadow:0 4px 15px #00000026;cursor:pointer;z-index:10;transition:all .3s ease;display:flex;align-items:center;gap:var(--space-sm)}.btn-return-floating:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 20px #0003;background-color:var(--color-primary);color:var(--palette-white)}.alert{padding:var(--space-md);margin-bottom:var(--space-lg);border-radius:var(--radius-md);font-weight:700;text-align:center;border:1px solid transparent}.alert-success{background-color:var(--palette-success-light);color:var(--palette-success-dark);border-color:var(--palette-success-main)}.alert-error{background-color:var(--palette-error-light);color:var(--palette-error-dark);border-color:var(--palette-error-main)}.text-danger{color:var(--color-error)!important}.text-secondary{color:var(--text-secondary)}.btn-danger{background-color:var(--color-error);color:var(--text-on-primary)}.btn-danger:hover{background-color:var(--palette-error-dark)}.btn-ghost{background-color:var(--palette-grey-20);color:var(--text-secondary)}.btn-ghost:hover{background-color:var(--palette-grey-50);color:var(--text-primary)}.btn-block{width:100%}.profile-header{text-align:center;margin-bottom:var(--space-xl)}.profile-header__title{color:var(--color-primary);margin-bottom:var(--space-xs);font-size:2rem}.votes-list{border-top:1px solid var(--border-light)}.vote-item{padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.vote-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs);font-size:var(--font-size-lg)}.vote-item-header__name{font-weight:700}.vote-item-header__avg{font-weight:700;color:var(--color-primary);font-size:var(--font-size-lg)}.vote-item-scores{font-size:var(--font-size-sm);color:var(--text-secondary)}.platos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.plato-card{background-color:var(--bg-container);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);cursor:pointer;overflow:hidden;transition:all .4s ease;position:relative;z-index:1}.plato-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000026}.plato-card__title{color:var(--color-secondary);font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.plato-card__chefs{font-size:var(--font-size-sm);font-weight:700;color:var(--text-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-light)}.plato-card__description{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.6;text-shadow:none;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;transition:all .4s ease}.plato-card--expanded .plato-card__description{line-clamp:3;-webkit-line-clamp:unset;max-height:1000px}.vote-card-list{display:flex;flex-direction:column;gap:var(--space-lg)}.vote-card__title{margin:0 0 var(--space-sm) 0;color:var(--color-secondary);font-size:var(--font-size-xl);text-shadow:none}.vote-card__description{font-style:italic;margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-base);text-shadow:none}.vote-card__chefs{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-lg);border-top:1px solid var(--border-light);padding-top:var(--space-md);text-shadow:none}.vote-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.page-description{margin-bottom:var(--space-xl);color:var(--text-secondary);text-align:center;font-size:var(--font-size-lg);text-shadow:none}.btn-lg{font-size:1.1rem;padding:var(--space-lg)}.form-label--lg{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}
