:root{--app-bp-sm:480px;--app-bp-md:768px;--app-bp-lg:1024px;--app-bp-xl:1280px;--app-container-sm:600px;--app-container-md:800px;--app-container-lg:900px;--app-container-xl:1000px;--app-container-xxl:1200px;--app-card-max:700px;--app-auth-form-max-width:480px;--app-hero-image-size:160px;--app-accent-icon-size:36px;--app-dialog-sm:420px;--app-dialog-md:500px;--app-dialog-lg:600px;--app-dialog-height-md:500px;--app-language-switcher-width:92px;--app-filter-width:150px;--app-indicator-min-width:24px;--app-mobile-button-size:36px;--app-mobile-practice-button-size:48px}.surface-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:color-mix(in srgb,var(--lumo-base-color) 90%,transparent);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 60%,transparent);border-radius:var(--lumo-border-radius-l);box-sizing:border-box}.surface-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:color-mix(in srgb,var(--lumo-base-color) 85%,transparent);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 70%,transparent);border-radius:var(--lumo-border-radius-l);box-sizing:border-box}.known-status{color:var(--lumo-tertiary-text-color);font-size:var(--lumo-font-size-s);font-weight:600;text-align:center}.actions-layout{gap:var(--lumo-space-xs)}.dialog-sm::part(overlay){width:var(--app-dialog-sm)}.dialog-md::part(overlay){width:var(--app-dialog-md)}.dialog-lg::part(overlay){width:var(--app-dialog-lg)}.text-area--sm{max-height:100px}.text-area--md{max-height:150px}.language-switcher__label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.language-switcher__combo{width:var(--app-language-switcher-width)}.deck-search-checkbox{align-items:center;--vaadin-field-default-width:auto}.deck-search-checkbox::part(checkbox){align-self:center;margin-left:auto;margin-right:auto}.deck-search-checkbox::part(label){align-self:center}.deck-description-centered{text-align:center;width:100%}.deck-centered-section{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--app-card-max);width:100%}.page-title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-xxl);font-weight:600;margin:0;text-align:center}.deck-header-three-column{display:grid;gap:var(--lumo-space-m);grid-template-columns:1fr auto 1fr}.deck-header-center{grid-column:2;justify-self:start}[theme=deck-actions-menu-theme] vaadin-context-menu-item{padding:var(--lumo-space-s) var(--lumo-space-m)}[theme=deck-actions-menu-theme] vaadin-context-menu-item vaadin-icon{margin-inline-end:var(--lumo-space-s)}.view-header{border-bottom:1px solid var(--lumo-contrast-10pct);margin-bottom:var(--lumo-space-l);padding-bottom:var(--lumo-space-m)}.view-header__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-xxl);font-weight:700;margin:0}.view-header__subtitle{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-m);margin:var(--lumo-space-xs) 0 0 0}.view-content{padding:var(--lumo-space-m) 0}.view-footer{border-top:1px solid var(--lumo-contrast-10pct);margin-top:var(--lumo-space-l);padding-top:var(--lumo-space-m);text-align:center}.form-control{margin-bottom:var(--lumo-space-m)}.form-control__label{color:var(--lumo-primary-text-color);display:block;font-weight:500;margin-bottom:var(--lumo-space-xs)}.form-control__input{background-color:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-s);color:var(--lumo-primary-text-color);padding:var(--lumo-space-s);transition:border-color var(--lumo-transition-duration) ease;width:100%}.form-control__input:focus{border-color:var(--lumo-primary-color);box-shadow:0 0 0 2px var(--lumo-primary-color-10pct);outline:none}.form-control__error{color:var(--lumo-error-color)}.form-control__error,.form-control__help{font-size:var(--lumo-font-size-xs);margin-top:var(--lumo-space-xs)}.form-control__help{color:var(--lumo-secondary-text-color)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--lumo-transition-duration) ease-in-out}.slide-in-up{animation:slide-in-up var(--lumo-transition-duration) ease-out}.slide-in-down{animation:slide-in-down var(--lumo-transition-duration) ease-out}@media (prefers-reduced-motion:reduce){.fade-in,.slide-in-down,.slide-in-up{animation:none}}.container-md{margin-inline:auto;max-width:var(--app-container-md,800px);width:100%}.glass-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb,var(--lumo-base-color) 92%,transparent);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 50%,transparent);border-radius:var(--lumo-border-radius-m)}.glass-md{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--lumo-base-color) 90%,transparent)}.glass-lg,.glass-md{border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 60%,transparent);border-radius:var(--lumo-border-radius-l)}.glass-lg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--lumo-base-color) 88%,transparent)}.focus-ring:focus-visible{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.rounded{border-radius:var(--lumo-border-radius-s)}.rounded-m{border-radius:var(--lumo-border-radius-m)}.rounded-l{border-radius:var(--lumo-border-radius-l)}.main-layout{display:flex;flex-direction:column;min-height:100vh}.main-layout__header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:var(--lumo-base-color);border-bottom:1px solid var(--lumo-contrast-10pct);flex-shrink:0}.main-layout__content{flex:1;padding:var(--lumo-space-m)}@media (max-width:767px){.main-layout__content{padding-bottom:max(var(--lumo-space-m),env(safe-area-inset-bottom,0px))}}.main-layout__footer{background-color:var(--lumo-contrast-5pct);border-top:1px solid var(--lumo-contrast-10pct);color:var(--lumo-secondary-text-color);flex-shrink:0;padding:var(--lumo-space-m);text-align:center}.main-layout__sidebar{background-color:var(--lumo-base-color);border-right:1px solid var(--lumo-contrast-10pct);padding:var(--lumo-space-m);width:250px}.main-layout__main{flex:1;padding:var(--lumo-space-m)}.menu-button,button,input,select{min-height:var(--app-mobile-button-size);min-width:var(--app-mobile-button-size)}.menu-button{padding:0}.menu-button vaadin-icon{margin:0}@media (max-width:767px){.deck-view__actions{display:none}.deck-view__title{font-size:var(--lumo-font-size-m);margin:0}.deck-view__stats{font-size:var(--lumo-font-size-xs);margin:0}.deck-view__header .deck-header-center{gap:var(--lumo-space-xs)}.deck-toolbar{gap:var(--lumo-space-s)}.deck-search-field{flex:1 1 auto;min-width:0}.deck-filter-combobox{flex:0 0 120px}.deck-view__actions .desktop-only{display:none}.deck-view__actions.mobile-actions{display:flex;justify-content:center}.deck-filter-combobox{flex-shrink:1;max-width:140px;min-width:100px}.deck-view__actions .mobile-only{gap:var(--lumo-space-xs);justify-content:center;max-width:100%;padding:0;width:100%}}@media (min-width:768px){.deck-view__title{font-size:var(--lumo-font-size-xxl)}.deck-view__stats{font-size:var(--lumo-font-size-m)}}.card-card{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-m);box-shadow:var(--lumo-box-shadow-s);box-sizing:border-box;cursor:pointer;margin-bottom:var(--lumo-space-s);max-width:100%;overflow-x:hidden;position:relative;transition:all .2s ease;width:100%;word-wrap:break-word}.card-card--known{border-left:4px solid var(--lumo-success-color)}.card-card--unknown{border-left:4px solid var(--lumo-primary-color-50pct)}.card-card:hover{background:var(--lumo-contrast-5pct);border-color:var(--lumo-primary-color-30pct);box-shadow:var(--lumo-box-shadow-m)}.card-card:active{background:var(--lumo-primary-color-10pct);transform:scale(.98)}.card-card:focus{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.card-front{color:var(--lumo-body-text-color);flex-grow:1;font-size:var(--lumo-font-size-m);font-weight:var(--lumo-font-weight-medium)}.card-example,.card-front{cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.card-example{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);font-style:italic;margin-top:var(--lumo-space-xs)}.card-known-indicator{display:none}.card-desktop-actions{align-items:center;display:flex;gap:var(--lumo-space-xs)}.card-desktop-actions button{min-height:44px;min-width:44px}@media (max-width:767px){.card-desktop-actions button{min-height:44px;min-width:44px;padding:var(--lumo-space-xs)}.card-card{margin-bottom:var(--lumo-space-xs)}.card-front{font-size:var(--lumo-font-size-s)}.card-example{font-size:var(--lumo-font-size-xs)}}.deck-search-controls-container{margin:0}.deck-search-field{margin:0;max-width:600px;transition:box-shadow var(--lumo-transition-duration) ease,transform var(--lumo-transition-duration) ease;width:100%}.search-field-flex{flex:1}.filter-combobox-flex{flex:0 0 auto}.deck-filter-combobox{margin:0;max-width:var(--app-filter-width);transition:box-shadow var(--lumo-transition-duration) ease,transform var(--lumo-transition-duration) ease;width:var(--app-filter-width)}@media (max-width:767px){.deck-search-controls-container{padding:0 var(--lumo-space-s)}.filter-combobox-flex,.search-field-flex{flex:1}.deck-filter-combobox{max-width:none;width:auto}}.deck-toolbar{margin:0 auto;max-width:var(--app-card-max,700px)}.deck-toolbar,.deck-toolbar>*{box-sizing:border-box;width:100%}.deck-toolbar>*{align-items:center;flex-direction:row;gap:var(--lumo-space-s);justify-content:space-between}.deck-toolbar__search{flex:1;min-width:0;transition:box-shadow var(--lumo-transition-duration) ease,transform var(--lumo-transition-duration) ease}.deck-toolbar__add-button{flex-shrink:0;white-space:nowrap}.deck-toolbar__search vaadin-text-field{max-width:100%;width:100%}.deck-toolbar__add-button vaadin-button{font-size:var(--lumo-font-size-s);max-width:100%;width:100%}@media (max-width:767px){.deck-toolbar__add-button{height:var(--app-mobile-button-size);max-width:var(--app-mobile-button-size);min-width:var(--app-mobile-button-size);padding:0;position:relative;width:var(--app-mobile-button-size)}.deck-toolbar__add-button::part(label){display:none}.deck-toolbar__add-button vaadin-icon{font-size:var(--lumo-icon-size-m);left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%)}}@media (min-width:768px){.deck-toolbar>*{gap:var(--lumo-space-m)}.deck-toolbar__add-button vaadin-button{font-size:var(--lumo-font-size-m);max-width:none;min-width:auto;padding:var(--lumo-space-xs) var(--lumo-space-m)}.deck-toolbar__add-button vaadin-button vaadin-icon{margin-right:var(--lumo-space-xs)}}.stats-overall-grid,.stats-today-grid{box-sizing:border-box;display:grid;gap:var(--lumo-space-xs);grid-template-columns:1fr;width:100%}.stats-card{aspect-ratio:.8;min-width:unset;padding:var(--lumo-space-xs);width:100%}@media (max-width:479px){.stats-overall-grid,.stats-today-grid{gap:var(--lumo-space-xs);grid-template-columns:1fr}.stats-card{align-items:center;aspect-ratio:unset;display:flex;flex-direction:row;justify-content:space-between;min-height:44px;padding:var(--lumo-space-xs)}}@media (min-width:480px){.stats-overall-grid,.stats-today-grid{gap:var(--lumo-space-xs);grid-template-columns:repeat(2,1fr);justify-content:center}.stats-current-deck__container{min-height:120px}.deck-stats-card{padding:var(--lumo-space-xs)}}@media (min-width:768px){.stats-overall-grid,.stats-today-grid{gap:var(--lumo-space-l);grid-template-columns:repeat(4,1fr);justify-content:space-evenly}.stats-current-deck__container{min-height:160px}.deck-stats-card{padding:var(--lumo-space-m)}}.stats-current-deck__container{box-sizing:border-box;min-height:120px;padding:var(--lumo-space-s)}.deck-stats-card{min-width:unset;padding:var(--lumo-space-s)}.deck-stats-card__grid{box-sizing:border-box;display:grid;gap:var(--lumo-space-s);grid-template-columns:1fr;width:100%}.stats-deck-item{min-width:unset;padding:var(--lumo-space-xs)}.stats-deck-item__total{font-size:var(--lumo-font-size-m)}@media (min-width:480px){.deck-stats-card__grid{grid-template-columns:repeat(2,1fr)}.stats-deck-item{padding:var(--lumo-space-s)}.stats-deck-item__total{font-size:var(--lumo-font-size-l);font-weight:700}.stats-deck-item__today{font-size:var(--lumo-font-size-xs);font-weight:600}.stats-deck-item__label{font-size:var(--lumo-font-size-xs);font-weight:500}}@media (min-width:768px){.stats-section{padding:var(--lumo-space-m)}.deck-stats-card{min-width:320px;padding:var(--lumo-space-l)}.stats-current-deck__container{padding:var(--lumo-space-m)}.deck-stats-card__grid{gap:var(--lumo-space-m);grid-template-columns:repeat(4,1fr)}.stats-deck-item{padding:var(--lumo-space-s)}.stats-deck-item__total{font-size:var(--lumo-font-size-l);font-weight:700}.stats-deck-item__today{font-size:var(--lumo-font-size-xs);font-weight:600}.stats-deck-item__label{font-size:var(--lumo-font-size-xs);font-weight:500}}.admin-content-toolbar{box-sizing:border-box;margin:0 auto;max-width:var(--app-card-max,700px);width:100%}.admin-content-toolbar>*{flex-direction:column;gap:var(--lumo-space-s);width:100%}.admin-content-toolbar button,.admin-content-toolbar vaadin-text-field{width:100%}@media (min-width:768px){.admin-content-toolbar>*{flex-direction:row;gap:var(--lumo-space-m)}.admin-content-toolbar vaadin-text-field{flex:1;width:auto}.admin-content-toolbar button{width:auto}}.news-card{box-sizing:border-box;max-width:100%}.news-card__content{word-wrap:break-word;overflow-wrap:break-word}.news-card__actions{display:flex;flex-direction:column;gap:var(--lumo-space-s);width:100%}.news-card__actions button{width:100%}@media (min-width:768px){.news-card{max-width:var(--app-card-max,700px)}.news-card__actions{flex-direction:row;width:auto}.news-card__actions button{width:auto}}.decks-list{display:grid;gap:var(--lumo-space-m);grid-template-columns:1fr;margin:0 auto;max-width:var(--app-card-max,700px);width:100%}@media (max-width:767px){.deck-card{padding:var(--lumo-space-s)}.deck-card__title{font-size:var(--lumo-font-size-m)}.deck-card__description{margin:var(--lumo-space-xs) 0}.deck-card__description,.deck-card__progress-details,.deck-card__progress-label,.deck-card__progress-text{font-size:var(--lumo-font-size-xs)}@media (max-width:480px){.deck-card__progress-details{display:none}.deck-card__progress-text{font-size:var(--lumo-font-size-xs)}}.deck-card__practice-button{margin-top:var(--lumo-space-xs)}.deck-card__practice-button vaadin-button{height:var(--app-mobile-practice-button-size);max-width:var(--app-mobile-practice-button-size);min-width:var(--app-mobile-practice-button-size);padding:0;position:relative;width:var(--app-mobile-practice-button-size)}.deck-card__practice-button vaadin-button::part(label){display:none}.deck-card__practice-button vaadin-button vaadin-icon{font-size:var(--lumo-icon-size-m);left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%)}}@media (min-width:768px){.deck-card__practice-button vaadin-button{font-size:var(--lumo-font-size-s);height:auto;max-width:none;min-width:auto;padding:var(--lumo-space-xs) var(--lumo-space-m);width:auto}.deck-card__practice-button vaadin-button vaadin-icon{margin-right:var(--lumo-space-xs)}.decks-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (min-width:1024px){.decks-list{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.deck-card{box-sizing:border-box;margin:0;max-width:100%}@media (max-width:767px){.deck-pagination-info{font-size:var(--lumo-font-size-xs);line-height:1.2;overflow-wrap:break-word;padding:0 var(--lumo-space-s);position:relative;text-align:center;word-break:break-word}.deck-pagination-info:not([data-page-info]){color:var(--lumo-body-text-color);line-height:1.4;max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:break-word}.deck-pagination-info:after,.deck-pagination-info:not([data-page-info]){font-size:var(--lumo-font-size-s);padding:var(--lumo-space-xs) var(--lumo-space-s);text-align:center}.deck-pagination-info:after{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);content:attr(data-page-info);display:none;left:50%;min-width:60px;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (max-width:768px) and (min-width:481px){.deck-pagination-info{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-xs);padding:var(--lumo-space-xs)}}@media (max-width:600px) and (min-width:481px){.deck-pagination-info{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-xs);max-width:200px;overflow:hidden;padding:var(--lumo-space-xs);text-overflow:ellipsis;white-space:nowrap}}@media (max-width:480px){.deck-pagination-info{background:transparent;border:none;color:var(--lumo-contrast-0pct);font-size:0;line-height:0;padding:0}.deck-pagination-info:after{color:var(--lumo-body-text-color);display:block;font-size:var(--lumo-font-size-s);line-height:normal}.deck-pagination-info:not([data-page-info]){color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-s);line-height:1.4;max-width:100%;overflow-wrap:break-word;padding:var(--lumo-space-xs);text-align:center;white-space:normal;word-break:break-word}.deck-pagination-info:not([data-page-info]):after{display:none}}.deck-pagination-bottom,.deck-pagination-top{flex-wrap:nowrap;gap:var(--lumo-space-xs);padding:var(--lumo-space-xs) var(--lumo-space-s)}.pagination-page-info{align-items:center;display:flex;font-size:var(--lumo-font-size-s);font-weight:var(--lumo-font-weight-medium);justify-content:center;margin:0 var(--lumo-space-xs);min-height:44px;white-space:nowrap}.deck-pagination-bottom vaadin-button,.deck-pagination-top vaadin-button{flex-shrink:0;font-size:var(--lumo-font-size-xs);min-height:44px;min-width:44px;padding:var(--lumo-space-xs)}@media (max-width:480px){.deck-pagination-bottom vaadin-button::part(label),.deck-pagination-top vaadin-button::part(label){display:none}.deck-pagination-bottom vaadin-button,.deck-pagination-top vaadin-button{height:44px;padding:0;width:44px}.deck-pagination-bottom vaadin-button vaadin-icon,.deck-pagination-top vaadin-button vaadin-icon{margin:0}.deck-pagination-info{font-size:var(--lumo-font-size-xs);padding:0 var(--lumo-space-xs)}}}@media (min-width:768px){.deck-pagination-info{font-size:var(--lumo-font-size-s);padding:0 var(--lumo-space-m);text-align:center}.pagination-page-info{font-size:var(--lumo-font-size-m);margin:0 var(--lumo-space-m)}.deck-pagination-bottom vaadin-button::part(label),.deck-pagination-top vaadin-button::part(label){display:block}.deck-pagination-bottom vaadin-button,.deck-pagination-top vaadin-button{font-size:var(--lumo-font-size-s);height:auto;min-width:auto;padding:var(--lumo-space-xs) var(--lumo-space-s);width:auto}.deck-pagination-bottom vaadin-button vaadin-icon,.deck-pagination-top vaadin-button vaadin-icon{margin-right:var(--lumo-space-xs)}}.container-md{box-sizing:border-box;max-width:100%;overflow-x:hidden;padding-left:var(--lumo-space-m);padding-right:var(--lumo-space-m)}.decks-section{margin-left:0;margin-right:0;padding-left:0;padding-right:0}@media (min-width:768px){.container-md{max-width:800px}}h1{font-size:var(--lumo-font-size-xl)}h2{font-size:var(--lumo-font-size-l)}h3{font-size:var(--lumo-font-size-m)}@media (min-width:768px){h1{font-size:var(--lumo-font-size-xxxl)}h2{font-size:var(--lumo-font-size-xxl)}h3{font-size:var(--lumo-font-size-xl)}}.mobile-only{display:flex}.desktop-only{display:none}@media (min-width:768px){.mobile-only{display:none}.desktop-only{display:flex}}.flex-mobile-column{flex-direction:column}@media (min-width:768px){.flex-mobile-column{flex-direction:row}}@media (pointer:coarse){html{--lumo-size-xl:4rem;--lumo-size-l:3rem;--lumo-size-m:2.5rem;--lumo-size-s:2rem;--lumo-size-xs:1.75rem}}.deck-card{background:var(--lumo-base-color);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 60%,transparent);border-radius:var(--lumo-border-radius-l);cursor:pointer;max-width:var(--app-card-max,700px);min-width:300px;padding:var(--lumo-space-m);transition:box-shadow var(--lumo-transition-duration) ease,transform var(--lumo-transition-duration) ease;width:100%}.deck-card:hover{box-shadow:var(--lumo-box-shadow-s);transform:translateY(-1px)}.deck-card:focus-visible{outline:2px solid var(--lumo-primary-color-10pct);outline-offset:2px}.deck-card__icon{color:var(--lumo-primary-color);font-size:var(--lumo-font-size-xl)}.deck-card__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-l);margin:0}.deck-card__description{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);line-height:1.4;margin:var(--lumo-space-s) 0}.deck-card__practice-button{margin-top:var(--lumo-space-s)}.deck-card__progress-label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.deck-card__progress-text{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-s);font-weight:700}.deck-card__progress-details{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.deck-card .vaadin-progress-bar{flex-grow:1}.dialog{border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-l)}.dialog__header{border-bottom:1px solid var(--lumo-contrast-10pct)}.dialog__content,.dialog__footer,.dialog__header{padding:var(--lumo-space-m)}.dialog__footer{border-top:1px solid var(--lumo-contrast-10pct);display:flex;gap:var(--lumo-space-s);justify-content:flex-end}.dialog vaadin-button,.dialog__footer vaadin-button{min-width:120px;padding:var(--lumo-space-s) var(--lumo-space-m)}.dialog vaadin-horizontal-layout{align-items:center;display:flex;gap:var(--lumo-space-s);justify-content:center;width:100%}.dialog vaadin-horizontal-layout vaadin-button{flex:0 0 auto}.top-menu{background-color:var(--lumo-base-color);border-bottom:1px solid var(--lumo-contrast-10pct)}.top-menu__title{color:var(--lumo-primary-text-color);text-decoration:none}.top-menu__logo{height:var(--lumo-space-l);width:auto}.top-menu__greeting{color:var(--lumo-primary-contrast-color);flex-shrink:0;font-size:var(--lumo-font-size-m);font-weight:500;white-space:nowrap}.top-menu .vaadin-button{margin:0 var(--lumo-space-xs)}.top-menu .vaadin-button:first-child{margin-left:0}.top-menu .vaadin-button:last-child{margin-right:0}.status{border-radius:var(--lumo-border-radius-s);font-size:var(--lumo-font-size-xs);font-weight:500;padding:var(--lumo-space-xs) var(--lumo-space-s)}.status--success{background-color:var(--lumo-success-color-10pct);color:var(--lumo-success-color)}.status--error{background-color:var(--lumo-error-color-10pct);color:var(--lumo-error-color)}.status--warning{background-color:var(--lumo-warning-color-10pct);color:var(--lumo-warning-color)}.status--info{background-color:var(--lumo-primary-color-10pct);color:var(--lumo-primary-color)}.mobile-nav-menu{background:var(--lumo-base-color);box-shadow:var(--lumo-box-shadow-m);display:flex;flex-direction:column;height:100vh}.mobile-nav__header{align-items:center;background:var(--lumo-contrast-5pct);border-bottom:1px solid var(--lumo-contrast-10pct);display:flex;min-height:60px;padding:0;width:100%}.mobile-nav__header-left{flex:1;gap:var(--lumo-space-s);width:100%}.mobile-nav__header-left,.mobile-nav__header-right{align-items:center;display:flex;padding:var(--lumo-space-l)}.mobile-nav__header-right{flex:0 0 auto;justify-content:flex-end;width:auto}.mobile-nav__close-button{background:transparent;border:none;border-radius:var(--lumo-border-radius-s);min-height:32px;min-width:32px}.mobile-nav__close-button:hover{background:var(--lumo-contrast-10pct)}.mobile-nav__close-button vaadin-icon{--vaadin-icon-width:18px;--vaadin-icon-height:18px;color:var(--lumo-secondary-text-color)}.mobile-nav__favicon{height:24px;width:24px}.mobile-nav__title{color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-l);font-weight:var(--lumo-font-weight-semibold);margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.mobile-nav__greeting{align-items:center;display:flex;height:60px;justify-content:flex-start;width:100%}.mobile-nav__greeting-text{color:var(--lumo-body-text-color);font-size:var(--lumo-font-size-l);font-weight:var(--lumo-font-weight-semibold);padding:0 var(--lumo-space-l);text-align:left;width:100%}.mobile-nav__divider{border:none;border-top:1px solid var(--lumo-contrast-10pct);margin:0}.mobile-nav__sidenav{flex:1;padding:var(--lumo-space-m);width:100%}.mobile-nav__sidenav vaadin-side-nav-item{--vaadin-side-nav-item-padding:var(--lumo-space-m) var(--lumo-space-l);border-radius:var(--lumo-border-radius-m);font-size:var(--lumo-font-size-m);font-weight:var(--lumo-font-weight-medium);margin:var(--lumo-space-xs) var(--lumo-space-s);min-height:48px;transition:all .2s ease}.mobile-nav__sidenav vaadin-side-nav-item::part(content){gap:var(--lumo-space-m)}.mobile-nav__sidenav vaadin-icon{--vaadin-icon-width:var(--lumo-icon-size-m);--vaadin-icon-height:var(--lumo-icon-size-m);color:var(--lumo-secondary-text-color);transition:color .2s ease}.mobile-nav__sidenav [aria-current=page]{background:var(--lumo-primary-color-10pct);border-left:4px solid var(--lumo-primary-color);color:var(--lumo-primary-color);font-weight:var(--lumo-font-weight-semibold)}.mobile-nav__sidenav [aria-current=page] vaadin-icon{color:var(--lumo-primary-color)}.mobile-nav__sidenav vaadin-side-nav-item:hover{background:var(--lumo-contrast-5pct)}.mobile-nav__actions{align-items:stretch;display:flex;flex-direction:column;gap:var(--lumo-space-s);justify-content:flex-start;padding:var(--lumo-space-m);width:100%}.mobile-nav__action-button{align-items:center;border-radius:var(--lumo-border-radius-m);display:flex;flex-shrink:0;font-weight:var(--lumo-font-weight-medium);justify-content:center;margin:var(--lumo-space-xs) 0;min-height:44px;padding:var(--lumo-space-m) var(--lumo-space-l);text-align:center;width:100%}.mobile-nav__action-button vaadin-icon{flex-shrink:0;margin-right:var(--lumo-space-s);--vaadin-icon-width:20px;--vaadin-icon-height:20px}.mobile-nav__action-button:hover{background:var(--lumo-contrast-5pct)}.mobile-nav__action-button .vaadin-button-container{justify-content:center;text-align:center;width:100%}.mobile-nav__action-button .vaadin-button-container span{text-align:center}.drawer-toggle-wrapper{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}.mobile-nav__action-button[data-test-id=nav-login]{background:var(--lumo-primary-color);border:none;color:var(--lumo-primary-contrast-color)}.mobile-nav__action-button[data-test-id=nav-login]:hover{background:var(--lumo-primary-color-90pct)}.mobile-nav__action-button[data-test-id=nav-login] vaadin-icon{color:var(--lumo-primary-contrast-color)}.mobile-nav__action-button[data-test-id=nav-register]{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-20pct);color:var(--lumo-body-text-color)}.mobile-nav__action-button[data-test-id=nav-register]:hover{background:var(--lumo-contrast-10pct)}.mobile-nav__action-button[data-test-id=nav-register] vaadin-icon{color:var(--lumo-secondary-text-color)}[theme~=dark] .mobile-nav__header{background:var(--lumo-contrast-10pct)}[theme~=dark] .mobile-nav__sidenav :hover{background:var(--lumo-contrast-20pct)}.desktop-nav-bar{display:none;min-height:var(--lumo-size-xl)}.desktop-nav-bar img{height:var(--lumo-size-m);width:auto}@media (min-width:768px){.desktop-nav-bar{display:flex}}.desktop-nav__left{align-items:center;display:flex;flex-shrink:0;gap:var(--lumo-space-m);min-width:0}.desktop-nav__buttons{align-items:center;display:flex;gap:var(--lumo-space-xs)}.mobile-navbar{display:flex;min-height:var(--lumo-size-l);padding:var(--lumo-space-s) var(--lumo-space-m)}.mobile-navbar img{height:32px;width:auto}@media (min-width:768px){.mobile-navbar{display:none}}.mobile-navbar__left{align-items:center;display:flex;flex:0 0 auto}.mobile-navbar__center{align-items:center;display:flex;flex:1;justify-content:center}.mobile-navbar__right{align-items:center;display:flex;flex:0 0 auto}[overlay] [slot=drawer]{box-shadow:var(--lumo-box-shadow-xl)}vaadin-app-layout::part(drawer){background:var(--lumo-base-color);max-width:85vw;transition:transform .3s ease-out;width:280px}.mobile-navbar a,.mobile-navbar button,.mobile-navbar vaadin-drawer-toggle{min-height:44px;min-width:44px}.mobile-navbar__center a{align-items:center;display:flex;height:100%;text-decoration:none}.mobile-navbar__center a:active,.mobile-navbar__center a:focus,.mobile-navbar__center a:hover,.mobile-navbar__center a:visited{text-decoration:none}.mobile-text-logo{font-size:var(--lumo-font-size-l);font-weight:var(--lumo-font-weight-semibold)}.mobile-navbar__center .mobile-text-logo,.mobile-text-logo,.mobile-text-logo:hover{color:var(--lumo-primary-text-color);text-decoration:none}.mobile-navbar .language-switcher__label{display:none}.mobile-navbar vaadin-combo-box{width:80px}@media (min-width:768px){.mobile-navbar .language-switcher__label{display:inline}.mobile-navbar vaadin-combo-box{width:auto}}[overlay]:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--lumo-shade-90pct)}.practice-actions{flex-wrap:wrap;gap:var(--lumo-space-s)}@media (max-width:767px){.practice-actions [theme~=large]{font-size:var(--lumo-font-size-m);min-height:var(--lumo-size-m);padding:var(--lumo-space-xs) var(--lumo-space-s)}.practice-actions{gap:var(--lumo-space-xs);margin-bottom:max(var(--lumo-space-l),env(safe-area-inset-bottom,0px));padding-bottom:max(var(--lumo-space-xs),env(safe-area-inset-bottom,0px))}}@media (min-width:768px){.practice-actions{flex-wrap:nowrap;gap:var(--lumo-space-m)}}.auth-form{max-width:var(--app-auth-form-max-width,480px);padding:var(--lumo-space-xl);width:100%}.auth-form .vaadin-email-field,.auth-form .vaadin-password-field,.auth-form .vaadin-text-field{width:100%}.auth-form .vaadin-button{margin-top:var(--lumo-space-s);width:100%}.auth-form .vaadin-button:first-of-type{margin-top:var(--lumo-space-m)}.form-spacing{height:var(--lumo-space-l)}.login-form__title-container{margin-bottom:var(--lumo-space-l);text-align:center}.login-form__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-xxl);font-weight:700}.register-form__title-container{margin-bottom:var(--lumo-space-l);text-align:center}.register-form__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-xxl);font-weight:700}.forgot-password-view{padding:var(--lumo-space-m)}.forgot-password-view__header{margin-bottom:var(--lumo-space-l);text-align:center}.forgot-password-view__content{margin:0 auto;max-width:var(--app-container-sm,600px)}.forgot-password-form__title{color:var(--lumo-primary-text-color);margin:0 0 var(--lumo-space-l) 0;text-align:center}.reset-password-view{padding:var(--lumo-space-m)}.reset-password-view__header{margin-bottom:var(--lumo-space-l);text-align:center}.reset-password-view__content{margin:0 auto;max-width:var(--app-container-sm,600px)}.reset-password-form__title{color:var(--lumo-primary-text-color);margin:0 0 var(--lumo-space-l) 0;text-align:center}.error-view{padding:var(--lumo-space-m);text-align:center}.error-view__header{margin-bottom:var(--lumo-space-l)}.error-view__content{margin:0 auto;max-width:var(--app-container-sm,600px)}.error-container{max-width:var(--app-container-md,800px);padding:var(--lumo-space-xl);text-align:center;width:100%}.error-view__title{color:var(--lumo-error-color);margin:0 0 var(--lumo-space-m) 0}.error-view__description{color:var(--lumo-secondary-text-color);margin-bottom:var(--lumo-space-l);text-align:center}.error-dev__title{color:var(--lumo-error-color);font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-s)}.error-dev__container{margin:var(--lumo-space-m) 0;max-width:var(--app-container-md,800px);padding:var(--lumo-space-m);width:100%}.error-dev__details{margin-bottom:var(--lumo-space-s)}.error-dev__type{color:var(--lumo-error-color);display:block;font-weight:700;margin-bottom:var(--lumo-space-xs)}.error-dev__message{color:var(--lumo-secondary-text-color);display:block;font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-s)}.error-dev__route{margin-bottom:var(--lumo-space-xs)}.error-dev__route,.error-dev__timestamp{color:var(--lumo-tertiary-text-color);display:block;font-size:var(--lumo-font-size-xs)}.error-dev__timestamp{margin-top:var(--lumo-space-s)}.error-dev__id{color:var(--lumo-tertiary-text-color);display:block;font-size:var(--lumo-font-size-xs);margin-top:var(--lumo-space-xs)}.entity-error__section{padding:var(--lumo-space-l)}.entity-error__title{color:var(--lumo-error-color);margin:0 0 var(--lumo-space-m) 0;text-align:center}.entity-error__description{color:var(--lumo-secondary-text-color);margin-bottom:var(--lumo-space-m);text-align:center}.entity-error__suggestion{color:var(--lumo-tertiary-text-color);font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-l);text-align:center}.not-found-container{margin:0 auto;max-width:var(--app-container-md,600px);padding:var(--lumo-space-xl);text-align:center;width:100%}.not-found__code{animation:fade-in-up .6s ease-out;color:var(--lumo-primary-color);font-size:4rem;font-weight:700;line-height:1;margin:0 0 var(--lumo-space-m) 0}.not-found__title{color:var(--lumo-header-text-color);font-size:var(--lumo-font-size-xxl);font-weight:600;line-height:1.2;margin:0 0 var(--lumo-space-m) 0}.not-found__description{color:var(--lumo-body-text-color)}.not-found__description,.not-found__suggestion{font-size:var(--lumo-font-size-m);line-height:1.5;margin:0 0 var(--lumo-space-s) 0}.not-found__suggestion{color:var(--lumo-secondary-text-color)}.not-found__go-home-suggestion{color:var(--lumo-tertiary-text-color);font-size:var(--lumo-font-size-s);line-height:1.4;margin:0 0 var(--lumo-space-l) 0}@media (max-width:768px){.not-found-container{max-width:100%;padding:var(--lumo-space-l)}.not-found__code{font-size:3rem}.not-found__title{font-size:var(--lumo-font-size-xl)}.not-found__description,.not-found__suggestion{font-size:var(--lumo-font-size-s)}.not-found__button-layout{gap:var(--lumo-space-s);margin-top:var(--lumo-space-m)}.not-found__button-layout vaadin-button{font-size:var(--lumo-font-size-m);height:44px;max-width:280px;min-width:180px;width:100%}}@media (prefers-color-scheme:dark){.not-found__code{color:var(--lumo-primary-color-50pct)}.not-found__title{color:var(--lumo-header-text-color)}.not-found__description{color:var(--lumo-body-text-color)}.not-found__suggestion{color:var(--lumo-secondary-text-color)}.not-found__go-home-suggestion{color:var(--lumo-tertiary-text-color)}}.not-found-container vaadin-button{margin:var(--lumo-space-xs)}.not-found__button-layout{margin-top:var(--lumo-space-l)}.not-found__button-layout vaadin-button{max-width:300px;min-width:200px;width:100%}.not-found-container vaadin-button:focus{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.public-layout{margin-top:0}.main-layout__navbar{border-bottom:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 50%,transparent)}.main-layout__navbar.surface-panel{height:var(--lumo-space-l)}.main-layout__right{align-items:center;color:var(--lumo-secondary-text-color);display:flex;gap:var(--lumo-space-s);text-decoration:none}.main-layout__right.surface-panel{border:none}.grid-pattern{background-image:linear-gradient(var(--lumo-contrast-5pct) 1px,transparent 1px),linear-gradient(90deg,var(--lumo-contrast-5pct) 1px,transparent 1px);background-size:50px 50px;inset:0;opacity:.1;position:absolute}.landing-view{padding:var(--lumo-space-m)}.landing-view__header{margin-bottom:var(--lumo-space-l);text-align:center}.landing-view__content{display:grid;gap:var(--lumo-space-m);margin:0 auto;max-width:var(--app-container-xxl,1200px)}.landing-hero__icon{margin-bottom:var(--lumo-space-l)}.landing-hero__image{height:var(--app-hero-image-size,160px);width:var(--app-hero-image-size,160px)}.landing-hero__title{animation:fade-in-up .8s ease-out;color:var(--lumo-primary-contrast-color);margin:0}.landing-hero__subtitle{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-l);margin-bottom:var(--lumo-space-l);text-align:center}.landing-news__title{color:var(--lumo-primary-contrast-color);margin:0}.landing-news__card-title{color:var(--lumo-primary-text-color);margin:0}.landing-news__card-content{color:var(--lumo-secondary-text-color)}.landing-news__card-accent{align-self:flex-end;background-image:url(data:image/svg+xml;charset=utf-8,);background-repeat:no-repeat;background-size:contain;height:var(--app-accent-icon-size,36px);opacity:.9;width:var(--app-accent-icon-size,36px)}.landing-hero__section{align-items:center}.landing-hero__section,.landing-news__section{max-width:var(--app-container-md,800px);padding:var(--lumo-space-l);width:100%}.landing-hero__section,.landing-news__list,.landing-news__section{display:flex;flex-direction:column;gap:var(--lumo-space-m)}.landing-news__card{display:flex;flex-direction:column;gap:var(--lumo-space-s);padding:var(--lumo-space-m)}.deck-view{overflow-x:hidden;padding:var(--lumo-space-m)}.deck-view__header{box-sizing:border-box;max-width:var(--app-card-max);width:100%}.deck-view__content{display:grid;gap:var(--lumo-space-m)}.deck-view__title{margin:0}.deck-view__title-section{align-items:center;display:flex;gap:var(--lumo-space-s)}.deck-view__stats{color:var(--lumo-secondary-text-color)}.deck-view__actions{align-items:center;display:flex;gap:var(--lumo-space-s)}.deck-card-list{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--lumo-space-s);overflow-x:hidden;width:100%}.deck-card-list>vaadin-virtual-list,.deck-view .deck-pagination-bottom,.deck-view .deck-pagination-top{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.deck-pagination-info{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-pagination-info:not([data-page-info]){overflow-wrap:break-word;overflow-x:visible;text-overflow:unset;white-space:normal;word-break:break-word}.deck-toolbar .deck-filter-combobox{max-width:200px;min-width:150px}.deck-header-center{align-items:flex-start;flex-direction:column;gap:calc(var(--lumo-space-xs)/2)}.deck-stats-row{font-size:var(--lumo-font-size-s);gap:var(--lumo-space-xs);width:100%}.deck-view__section{margin:0 auto;max-width:var(--app-container-md,800px);padding:var(--lumo-space-m);width:100%}.deck-grid-section{border-top:1px solid var(--lumo-contrast-10pct);margin-top:var(--lumo-space-m);padding-top:var(--lumo-space-m)}.deck-delete-dialog__icon{color:var(--lumo-primary-color);font-size:var(--lumo-font-size-xxl);margin-bottom:var(--lumo-space-s)}.deck-delete-dialog__title{margin:0}.deck-delete-dialog__description{color:var(--lumo-secondary-text-color);margin-bottom:var(--lumo-space-m);text-align:center}.deck-delete-dialog__card-count{color:var(--lumo-error-color);display:block;font-weight:700;margin-bottom:var(--lumo-space-s)}.deck-delete-confirm__warning-icon{color:var(--lumo-error-color);font-size:var(--lumo-font-size-xxl);margin-bottom:var(--lumo-space-s)}.deck-delete-confirm__title{color:var(--lumo-error-color);margin:0}.deck-delete-confirm__description{color:var(--lumo-secondary-text-color);margin-bottom:var(--lumo-space-m);text-align:center}.deck-delete-confirm__info{margin-bottom:var(--lumo-space-m);padding:var(--lumo-space-s);text-align:center}.deck-delete-confirm__deck-name{color:var(--lumo-primary-text-color);font-weight:700}.deck-delete-confirm__card-count{color:var(--lumo-secondary-text-color);display:block;margin-top:var(--lumo-space-xs)}.home-view{padding:var(--lumo-space-m)}.home-view__header{margin-bottom:var(--lumo-space-l);text-align:center}.home-view__content{display:grid;gap:var(--lumo-space-m);margin:0 auto;max-width:var(--app-container-xxl,1200px)}.decks-view{padding:var(--lumo-space-m)}.decks-view__content{display:grid;gap:var(--lumo-space-m)}.decks-view__title{text-align:center}.deck-list{align-items:center;display:flex;flex-direction:column;gap:var(--lumo-space-m);width:100%}.decks-empty-message{color:var(--lumo-secondary-text-color);padding:var(--lumo-space-l);text-align:center}.decks-toolbar{margin:0 auto var(--lumo-space-m);max-width:var(--app-container-md,800px);padding:var(--lumo-space-s) var(--lumo-space-m);width:100%}.decks-section{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:var(--app-container-md,800px);padding:var(--lumo-space-m);width:100%}.decks-section.surface-panel{background-color:color-mix(in srgb,var(--lumo-base-color) 88%,transparent)}.admin-news__content-area{height:200px}.admin-content-view{padding:var(--lumo-space-m)}.admin-content-view__content{display:grid;gap:var(--lumo-space-m);margin:0 auto;max-width:var(--app-container-xxl,1200px)}.admin-content-view__title{margin:0}.admin-content-toolbar{margin-bottom:var(--lumo-space-l)}.admin-content-section{box-sizing:border-box;padding:var(--lumo-space-m);width:100%}.admin-content-empty-message{color:var(--lumo-secondary-text-color);padding:var(--lumo-space-l);text-align:center}.news-card{background:var(--lumo-base-color);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 60%,transparent);border-radius:var(--lumo-border-radius-l);max-width:var(--app-card-max,700px);padding:var(--lumo-space-m);transition:box-shadow var(--lumo-transition-duration) ease,transform var(--lumo-transition-duration) ease;width:100%}.news-card:hover{box-shadow:var(--lumo-box-shadow-s);transform:translateY(-1px)}.news-card__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-l);margin:0}.news-card__content{line-height:1.4;margin:var(--lumo-space-s) 0}.news-card__author,.news-card__content{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s)}.news-card__date{color:var(--lumo-tertiary-text-color);font-size:var(--lumo-font-size-s)}.admin-view{margin:0 auto;max-width:var(--app-container-xxl,1200px)}.admin-view__add-button{margin-bottom:var(--lumo-space-l)}.admin-dialog-confirm__title{font-weight:700}.text-muted{color:var(--lumo-secondary-text-color)}.text-muted,.text-muted-small{font-size:var(--lumo-font-size-s)}.text-muted-small{color:var(--lumo-tertiary-text-color)}.text-content{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);line-height:1.4}.stats-view{padding:var(--lumo-space-m)}@media (max-width:767px){.stats-view{padding:var(--lumo-space-xs)}}.stats-view__header{margin-bottom:var(--lumo-space-l)}.stats-view__content{display:grid;gap:var(--lumo-space-xl)}@media (max-width:767px){.stats-view__content{gap:var(--lumo-space-s)}}.stats-page__section{box-sizing:border-box;margin:0 auto;max-width:var(--app-container-md,800px);width:100%}.stats-view__title{color:var(--lumo-primary-contrast-color);font-weight:600;margin-bottom:var(--lumo-space-l);text-align:center}.stats-section{background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);box-shadow:var(--lumo-box-shadow-xs);box-sizing:border-box;margin-bottom:var(--lumo-space-xl);padding:var(--lumo-space-l);transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.stats-section:hover{box-shadow:var(--lumo-box-shadow-s)}.stats-section.surface-panel{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct)}@media (max-width:767px){.stats-section{margin-bottom:var(--lumo-space-s);padding:var(--lumo-space-s)}}.stats-section__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-l);font-weight:600;margin:0 0 var(--lumo-space-m) 0}@media (max-width:767px){.stats-section__title{font-size:var(--lumo-font-size-s);margin-bottom:var(--lumo-space-xs)}}.stats-card{align-items:center;animation:fade-in-up .4s ease-out;aspect-ratio:1;background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);box-shadow:var(--lumo-box-shadow-xs);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-width:100px;overflow:hidden;padding:var(--lumo-space-l);position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.stats-card:hover{border-color:var(--lumo-primary-color-30pct);box-shadow:var(--lumo-box-shadow-m);transform:translateY(-2px)}.stats-card.surface-card{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct)}.stats-card--primary{border-top:4px solid var(--lumo-primary-color)}.stats-card--success{border-top:4px solid var(--lumo-success-color)}.stats-card--warning{border-top:4px solid var(--lumo-error-color)}.stats-card--info{border-top:4px solid var(--lumo-contrast-60pct)}@media (max-width:767px){.stats-card{aspect-ratio:.8;min-width:60px;padding:var(--lumo-space-s)}}.stats-card__value{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-xxl);font-weight:700;line-height:1;margin-bottom:var(--lumo-space-s)}.stats-card__label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);font-weight:500;letter-spacing:.5px;opacity:.8;text-transform:uppercase}@media (max-width:767px){.stats-card__value{font-size:var(--lumo-font-size-l);margin-bottom:var(--lumo-space-xs)}.stats-card__label{font-size:var(--lumo-font-size-xs);letter-spacing:.3px}}.stats-section--today .stats-card__value{font-size:3rem;font-weight:700;letter-spacing:-.02em}.stats-section--overall .stats-card__value{font-size:2rem;font-weight:600}.stats-section--decks .stats-card__value{font-size:1.2rem;font-weight:500}@media (max-width:767px){.stats-section--overall .stats-overall-grid,.stats-section--today .stats-today-grid{display:grid;gap:var(--lumo-space-xs);grid-template-columns:repeat(2,1fr);justify-content:center}.stats-section--overall .stats-card,.stats-section--today .stats-card{aspect-ratio:.9;background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-5pct);min-width:unset;padding:var(--lumo-space-xs)}.stats-section--today .stats-card__value{font-size:1.2rem;margin-bottom:var(--lumo-space-xs)}.stats-section--overall .stats-card__value{font-size:1rem;margin-bottom:var(--lumo-space-xs)}.stats-section--overall .stats-card__label,.stats-section--today .stats-card__label{font-size:var(--lumo-font-size-xs);letter-spacing:.2px}}@media (max-width:479px){.stats-section--overall .stats-overall-grid,.stats-section--today .stats-today-grid{gap:var(--lumo-space-xs);grid-template-columns:1fr}.stats-section--overall .stats-card,.stats-section--today .stats-card{align-items:center;aspect-ratio:unset;display:flex;flex-direction:row;justify-content:space-between;min-height:44px;padding:var(--lumo-space-xs)}.stats-section--overall .stats-card__value,.stats-section--today .stats-card__value{font-size:var(--lumo-font-size-l);margin-bottom:0;margin-right:var(--lumo-space-xs)}.stats-section--overall .stats-card__label,.stats-section--today .stats-card__label{font-size:var(--lumo-font-size-xs);margin-left:auto}}.stats-decks-list{gap:var(--lumo-space-s)}@media (max-width:767px){.stats-decks-list{gap:var(--lumo-space-xs)}}.deck-stat-card-compact{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-s);padding:var(--lumo-space-s);transition:all .2s ease}.deck-stat-card-compact:hover{border-color:var(--lumo-primary-color-20pct);box-shadow:var(--lumo-box-shadow-xs)}.deck-stat-card-compact__header{margin-bottom:var(--lumo-space-xs)}.deck-stat-card-compact__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-m);font-weight:600;margin:0}.deck-stat-card-compact__grid{gap:var(--lumo-space-s)}.deck-stat-card-compact__item{align-items:center;display:flex;flex-direction:column;min-width:60px;text-align:center}.deck-stat-card-compact__total{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-l);font-weight:700;line-height:1;margin-bottom:var(--lumo-space-xs)}.deck-stat-card-compact__today{color:var(--lumo-success-color);font-size:var(--lumo-font-size-s);font-weight:600;line-height:1;margin-bottom:var(--lumo-space-xs)}.deck-stat-card-compact__label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:500;letter-spacing:.3px;opacity:.7;text-transform:uppercase}@media (max-width:767px){.deck-stat-card-compact{padding:var(--lumo-space-xs)}.deck-stat-card-compact__header{margin-bottom:var(--lumo-space-xs);text-align:center}.deck-stat-card-compact__title{font-size:var(--lumo-font-size-s)}.deck-stat-card-compact__grid{display:grid;gap:var(--lumo-space-xs);grid-template-columns:repeat(2,1fr);justify-content:center}.deck-stat-card-compact__item{background:var(--lumo-contrast-5pct);border:1px solid var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-xs);min-width:unset;padding:var(--lumo-space-xs)}.deck-stat-card-compact__total{font-size:var(--lumo-font-size-m);margin-bottom:var(--lumo-space-xs)}.deck-stat-card-compact__today{font-size:var(--lumo-font-size-xs);margin-bottom:var(--lumo-space-xs)}.deck-stat-card-compact__label{font-size:var(--lumo-font-size-xs);letter-spacing:.2px}}@media (max-width:479px){.deck-stat-card-compact__grid{gap:var(--lumo-space-xs);grid-template-columns:1fr}.deck-stat-card-compact__item{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--lumo-space-xs)}.deck-stat-card-compact__today,.deck-stat-card-compact__total{margin-bottom:0;margin-right:var(--lumo-space-xs)}.deck-stat-card-compact__label{margin-left:auto}}.stats-no-decks{color:var(--lumo-secondary-text-color);font-style:italic;padding:var(--lumo-space-l);text-align:center}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-card:nth-child(2){animation-delay:.1s}.stats-card:nth-child(3){animation-delay:.2s}.stats-card:nth-child(4){animation-delay:.3s}.deck-stats-card{box-sizing:border-box;flex-shrink:0;min-width:200px;overflow-x:hidden;padding:var(--lumo-space-l);width:100%}.deck-stats-card__header{margin-bottom:var(--lumo-space-l)}.deck-stats-card__title{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-m)}.stats-deck-item{align-items:center;aspect-ratio:1;background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--lumo-space-s);text-align:center;transition:all .2s ease}.stats-deck-item:hover{border-color:var(--lumo-primary-color-30pct);box-shadow:var(--lumo-box-shadow-s);transform:translateY(-1px)}.stats-deck-item.surface-card{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-20pct);box-shadow:none}.stats-deck-item__total{color:var(--lumo-primary-text-color);font-size:var(--lumo-font-size-l);font-weight:700;line-height:1;margin-bottom:var(--lumo-space-xs)}.stats-deck-item__today{color:var(--lumo-success-color);font-size:var(--lumo-font-size-xs);font-weight:600;margin-bottom:var(--lumo-space-xs)}.stats-deck-item__label{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-xs);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.practice-view{padding:var(--lumo-space-m)}@media (max-width:767px){.practice-view{min-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:var(--lumo-space-s);padding-bottom:max(var(--lumo-space-xl),env(safe-area-inset-bottom,0px))}}.practice-view__header{margin-bottom:var(--lumo-space-l)}@media (max-width:767px){.practice-view__header{margin-bottom:var(--lumo-space-m)}}.practice-view__content{display:grid;gap:var(--lumo-space-m)}@media (max-width:767px){.practice-view__content{gap:var(--lumo-space-s)}}.practice-view__section{box-sizing:border-box;margin:0 auto;max-width:var(--app-container-md,800px);width:100%}.practice-progress{box-sizing:border-box;padding:var(--lumo-space-m);text-align:center;width:100%}@media (max-width:767px){.practice-progress{padding:var(--lumo-space-s)}}.practice-progress__text{background-color:color-mix(in srgb,var(--lumo-base-color) 88%,transparent);border:1px solid color-mix(in srgb,var(--lumo-contrast-10pct) 60%,transparent);border-radius:var(--lumo-border-radius-m);box-sizing:border-box;color:var(--lumo-secondary-text-color);display:inline-block;padding:var(--lumo-space-l) var(--lumo-space-m)}@media (max-width:767px){.practice-progress__text{padding:var(--lumo-space-m) var(--lumo-space-s)}}.practice-card-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:300px;padding:var(--lumo-space-xl);width:100%}@media (max-width:767px){.practice-card-container{min-height:200px;padding:var(--lumo-space-m)}}.practice-card-content{text-align:center}.practice-view__deck-title{margin:0}.practice-congratulations{text-align:center;width:100%}.celebration-icon-container{margin-bottom:var(--lumo-space-m);position:relative}.trophy-icon{animation:celebration-bounce 2s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 4px 8px var(--lumo-warning-color-10pct));font-size:4rem}.practice-congratulations .celebration-icon-container{margin-bottom:var(--lumo-space-m);position:relative}.practice-congratulations .trophy-icon{animation:celebration-bounce 2s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 4px 8px var(--lumo-warning-color-10pct));font-size:4rem}@keyframes celebration-bounce{0%,20%,50%,80%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.1)}60%{transform:translateY(-5px) scale(1.05)}}.congratulations-title,.practice-congratulations .congratulations-title{color:var(--lumo-primary-text-color);font-size:1.8rem;font-weight:600;margin:var(--lumo-space-s) 0 var(--lumo-space-m) 0}.congratulations-message,.practice-congratulations .congratulations-message{color:var(--lumo-primary-text-color);font-size:1.1rem;line-height:1.6;margin:0 0 var(--lumo-space-m) 0;margin-left:auto;margin-right:auto;max-width:400px}.congratulations-layout{padding:var(--lumo-space-l)}.success-badge{background-color:var(--lumo-success-color-10pct);border-radius:var(--lumo-border-radius-s);color:var(--lumo-success-color);display:inline-block;font-size:var(--lumo-font-size-s);font-weight:500;padding:var(--lumo-space-xs) var(--lumo-space-s)}.action-button,.practice-congratulations .action-button{margin-top:var(--lumo-space-m)}@media (max-width:768px){.practice-congratulations{padding:var(--lumo-space-m)}.practice-congratulations .trophy-icon{font-size:3rem}.practice-congratulations .congratulations-title{font-size:1.5rem}.practice-congratulations .congratulations-message{font-size:1rem}}.settings-view{padding:var(--lumo-space-m)}.settings-view__header{margin-bottom:var(--lumo-space-l)}.settings-view__content{display:grid;gap:var(--lumo-space-m);margin:0 auto;max-width:var(--app-container-md,800px)}.deck-create__form{box-shadow:var(--lumo-box-shadow-s);margin:var(--lumo-space-l) auto;max-width:var(--app-container-sm,600px);padding:var(--lumo-space-xl);width:100%}.deck-create__form-layout{width:100%}*{box-sizing:border-box}.app-content{position:relative;z-index:1}.triangles-layer{background-image:radial-gradient(1000px 500px at 20% 15%,var(--lumo-primary-color-10pct),transparent 60%),radial-gradient(800px 400px at 80% 35%,var(--lumo-error-color-10pct),transparent 65%),radial-gradient(900px 450px at 50% 85%,var(--lumo-success-color-10pct),transparent 70%);inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.triangle{border-bottom:180px solid var(--lumo-contrast-5pct);border-left:120px solid transparent;border-right:120px solid transparent;filter:blur(1px);height:0;position:absolute;width:0}.tri-1{border-bottom-color:var(--lumo-primary-color-10pct);left:12%;top:10%;transform:rotate(10deg)}.tri-2{border-bottom-color:var(--lumo-error-color-10pct);left:28%;top:35%;transform:rotate(-8deg)}.tri-3{border-bottom-color:var(--lumo-success-color-10pct);right:16%;top:20%;transform:rotate(6deg)}.tri-4{border-bottom-color:var(--lumo-tint-10pct);bottom:8%;left:20%;transform:rotate(-4deg)}.user-profile-avatar{transition:all var(--lumo-transition-duration) ease-in-out}.user-profile-avatar:hover{box-shadow:var(--lumo-box-shadow-m);transform:scale(1.05)}body{background:url(./bg-custom-dark-CcTPZFf2.webp) no-repeat 50% fixed;background-size:cover;margin:0;max-width:100vw;min-height:100vh;overflow-x:hidden;padding:0}
