.user-identity-group{align-items:center;gap:8px;display:flex}.user-identity-group__name{color:var(--color-text);white-space:nowrap;font-size:14px}.user-identity-group__separator{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:14px}.user-identity-group__subscription{color:var(--color-primary);white-space:nowrap;background:var(--color-primary-subtle);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.tab-bar{background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);z-index:100;position:fixed;bottom:0;left:0;right:0}.tab-bar__inner{justify-content:space-around;align-items:center;max-width:100%;margin:0 auto;display:flex}@media (width>=768px){.tab-bar__inner{max-width:600px}}.tab-item{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:8px 16px;font-size:11px;display:flex}@media (width>=768px){.tab-item{padding:10px 24px;font-size:12px}}.tab-item--active{color:var(--color-primary)}:root{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-subtle:#ede9fe;--color-surface:#fff;--color-surface-alt:#f9fafb;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-error:#dc2626;--color-offline-bg:#fef3c7;--color-offline-text:#92400e;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--container-max:1200px;--header-height:3.5rem;--radius:.375rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);min-height:100dvh;line-height:1.5}img,svg{max-width:100%;display:block}button{cursor:pointer;font:inherit}.layout{flex-direction:column;min-height:100dvh;display:flex}.layout__container{width:100%;max-width:var(--container-max);padding-inline:var(--space-4);margin-inline:auto}.layout__header{z-index:100;height:var(--header-height);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.layout__header-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.layout__brand{font-size:var(--font-size-lg);color:var(--color-primary);font-weight:600}.layout__main{padding-block:var(--space-6);flex:1}.layout__main--with-tab-bar{padding-bottom:calc(var(--space-6) + 64px)}.layout__footer{padding-block:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.offline-banner{top:var(--header-height);z-index:99;padding:var(--space-2) var(--space-4);background-color:var(--color-offline-bg);color:var(--color-offline-text);text-align:center;font-size:var(--font-size-sm);font-weight:500;position:sticky}.auth-container{width:100%;max-width:24rem;padding:var(--space-8) var(--space-4);margin-inline:auto}.auth-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-6)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--font-size-sm);font-weight:500}.field input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);width:100%}.field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.auth-error{color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.auth-links{gap:var(--space-4);margin-top:var(--space-4);font-size:var(--font-size-sm);display:flex}.auth-links button{color:var(--color-primary);background:0 0;border:none;padding:0;text-decoration:underline}@media (width>=40rem){.layout__container{padding-inline:var(--space-6)}}@media (width>=48rem){.layout__container{padding-inline:var(--space-8)}}@media (width>=64rem){.layout__main{padding-block:var(--space-8)}}
