.app-shell[data-v-9cd743e9]{flex-direction:column;min-height:100dvh;padding-top:3.5rem;display:flex}.app-header[data-v-9cd743e9]{z-index:100;background:var(--c-brand-deep);color:oklch(97% 0 0);box-shadow:var(--shadow);position:fixed;top:0;left:0;right:0}.app-header__inner[data-v-9cd743e9]{justify-content:space-between;align-items:center;height:3.5rem;display:flex}.app-logo[data-v-9cd743e9]{color:inherit;flex-direction:column;line-height:1;text-decoration:none;display:flex}.app-logo__main[data-v-9cd743e9]{letter-spacing:.04em;font-size:1.6rem;font-weight:700}.app-logo__sub[data-v-9cd743e9]{opacity:.7;letter-spacing:.02em;font-size:.6rem;font-weight:700}.app-env[data-v-9cd743e9]{letter-spacing:.06em;border-radius:var(--radius-full,999px);color:oklch(.98 .02 var(--h,235));background:oklch(.55 .15 var(--h,235) / .92);border:1px solid oklch(.72 .14 var(--h,235) / .55);align-self:center;margin-left:.6rem;margin-right:auto;padding:.2rem .45rem;font-size:.6rem;font-weight:900;line-height:1}.app-header__actions[data-v-9cd743e9]{align-items:center;gap:.75rem;display:flex}.menu-lang[data-v-9cd743e9]{border-top:1px solid var(--c-border);margin-top:1.25rem;padding-top:1rem}.menu-lang__label[data-v-9cd743e9]{color:var(--c-text-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.app-header__avatar[data-v-9cd743e9]{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:2px solid oklch(.72 .09 var(--hue-brand));width:2rem;height:2rem}.app-header__menu[data-v-9cd743e9],.menu-close[data-v-9cd743e9]{color:inherit;cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex}.app-header__menu .material-symbols-outlined[data-v-9cd743e9]{font-size:1.6rem}.app-main[data-v-9cd743e9]{flex:1;padding-bottom:2.5rem}.app-footer[data-v-9cd743e9]{background:var(--c-brand-deep);color:oklch(.82 .03 var(--hue-brand));padding:1rem 0;font-size:.7rem;font-weight:700}.app-footer__inner[data-v-9cd743e9]{justify-content:center;display:flex;overflow:hidden}.app-footer__credit[data-v-9cd743e9]{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:transform .22s cubic-bezier(.22,1,.36,1);display:inline-block}.menu-overlay[data-v-9cd743e9]{z-index:500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(20% .02 270/.5);justify-content:flex-end;display:flex;position:fixed;inset:0}.menu-panel[data-v-9cd743e9]{background:var(--c-surface);width:min(21.5rem,100vw - 2rem);height:100%;box-shadow:var(--shadow-lg);padding:1rem 1.25rem 2rem;overflow-y:auto}.menu-panel__top[data-v-9cd743e9]{justify-content:flex-end;display:flex}.menu-close[data-v-9cd743e9]{color:var(--c-text)}.menu-account[data-v-9cd743e9]{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 0;display:flex}.menu-account__link[data-v-9cd743e9]{color:var(--c-text);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:flex}.menu-account__avatar[data-v-9cd743e9]{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;width:2.2rem;height:2.2rem}.menu-login[data-v-9cd743e9]{border-bottom:1px solid var(--c-border);flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.menu-login__error[data-v-9cd743e9]{border-radius:var(--radius-sm);background:oklch(.95 .05 var(--hue-danger));color:oklch(.45 .15 var(--hue-danger));align-items:center;gap:.35rem;margin:0;padding:.4rem .6rem;font-size:.78rem;font-weight:700;line-height:1.5;display:flex}.menu-login__error .material-symbols-outlined[data-v-9cd743e9]{flex-shrink:0;font-size:1.05rem}.menu-nav[data-v-9cd743e9]{flex-direction:column;gap:.25rem;display:flex}.menu-nav__item[data-v-9cd743e9]{color:var(--c-text);cursor:pointer;border-radius:var(--radius);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.7rem .5rem;font-size:.95rem;font-weight:700;display:flex}.menu-nav__item[data-v-9cd743e9]:hover{background:var(--c-surface-2)}.menu-nav__item .material-symbols-outlined[data-v-9cd743e9]{color:var(--c-primary)}.menu-fade-enter-active[data-v-9cd743e9],.menu-fade-leave-active[data-v-9cd743e9]{transition:opacity .2s}.menu-fade-enter-from[data-v-9cd743e9],.menu-fade-leave-to[data-v-9cd743e9]{opacity:0}
