.brand-logo-link{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}.brand-logo-link:hover{text-decoration:none;opacity:.88}.brand-logo{display:block;object-fit:contain}.brand-logo-logo{filter:var(--logo-filter, none)}.brand-logo-nav.brand-logo-logo{height:1.75rem;width:auto}.brand-logo-nav.brand-logo-icon{height:1.75rem;width:1.75rem}.brand-logo-auth.brand-logo-logo{height:2.5rem;width:auto;margin:0 auto var(--space-sm)}.brand-logo-auth.brand-logo-icon{height:3rem;width:3rem;margin:0 auto var(--space-sm)}.brand-logo-inline.brand-logo-logo{height:1.25rem;width:auto;vertical-align:middle}.verified-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--color-primary);color:#fff;vertical-align:middle;text-decoration:none;line-height:0;overflow:visible}.verified-badge svg{display:block;width:.625rem;height:.625rem;flex-shrink:0;overflow:visible}.verified-badge path{fill:#fff}a .verified-badge,a:hover .verified-badge{color:#fff;text-decoration:none}a .verified-badge path,a:hover .verified-badge path{fill:#fff}.user-name-with-role{display:inline-flex;align-items:center;gap:.4rem;min-width:0;max-width:100%;flex-wrap:wrap}.user-name-primary{display:inline-flex;align-items:center;gap:.25rem;min-width:0;max-width:100%;flex-shrink:1;overflow:visible}.user-display-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-role-badge{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;max-width:max-content;align-self:center;padding:.12em .5em;border-radius:999px;font-size:.68em;font-weight:700;line-height:1.3;letter-spacing:.02em;border:1px solid transparent;vertical-align:middle;text-transform:none;white-space:nowrap}.user-role-badge--kid{color:var(--role-kid-fg);background:var(--role-kid-bg);border-color:var(--role-kid-border)}.user-role-badge--teen{color:var(--role-teen-fg);background:var(--role-teen-bg);border-color:var(--role-teen-border)}.user-role-badge--parent{color:var(--role-parent-fg);background:var(--role-parent-bg);border-color:var(--role-parent-border)}.user-role-badge--teacher{color:var(--role-teacher-fg);background:var(--role-teacher-bg);border-color:var(--role-teacher-border)}.user-role-badge--content_creator{color:var(--role-content-creator-fg);background:var(--role-content-creator-bg);border-color:var(--role-content-creator-border)}.user-role-badge--admin{color:var(--role-admin-fg);background:var(--role-admin-bg);border-color:var(--role-admin-border)}.user-role-badge--owner{color:var(--role-owner-fg);background:var(--role-owner-bg);border-color:var(--role-owner-border)}.account-switcher{position:relative}.account-switcher--sidebar{width:100%}.account-switcher--header{flex-shrink:0}.account-switcher-trigger--header{justify-content:flex-start;gap:.65rem;min-height:44px;padding:.3rem .45rem .3rem .3rem;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--color-text);transition:background var(--transition-normal),border-color var(--transition-normal)}.account-switcher-trigger--header:hover,.account-switcher-trigger--header[aria-expanded=true]{background:var(--color-surface-hover);border-color:var(--color-border-subtle);color:var(--color-text)}.account-switcher-trigger-avatar--header,.account-switcher-trigger-avatar--header.avatar-placeholder{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-full)}.account-switcher-header-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.05rem;min-width:0;max-width:11rem;line-height:1.2;text-align:left}.account-switcher-header-name-row{display:inline-flex;align-items:center;gap:.2rem;min-width:0;max-width:100%}.account-switcher-header-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.account-switcher-header-handle{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.account-switcher-header-verified{flex-shrink:0}.account-switcher-header-role{flex-shrink:0;font-size:.72rem;padding:.2em .55em}.account-switcher-chevron--header{margin-left:.1rem;color:var(--color-text-muted)}.account-switcher-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:1.75rem;min-height:var(--touch-min);padding:0 .25rem;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer}.account-switcher-trigger--sidebar{width:100%;justify-content:flex-start;gap:.65rem;min-height:52px;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);color:var(--color-text);text-align:left;transition:background var(--transition-normal),border-color var(--transition-normal)}.account-switcher-trigger--sidebar:hover,.account-switcher-trigger--sidebar[aria-expanded=true]{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text)}.account-switcher-trigger-avatar,.account-switcher-trigger-avatar.avatar-placeholder{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.account-switcher-trigger-text{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.account-switcher-trigger-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-trigger-handle{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-muted);transition:transform var(--transition-normal),color var(--transition-normal)}.account-switcher-trigger--sidebar .account-switcher-chevron{margin-left:auto}.account-switcher-chevron--open{transform:rotate(180deg);color:var(--color-text)}.account-switcher-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-overlay) + 1);border:none;padding:0;background:var(--color-overlay-muted);cursor:default}.account-switcher-menu{padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown)}.account-switcher:not(.account-switcher--sidebar) .account-switcher-menu:not([style*="position: fixed"]){position:absolute;top:calc(100% + .35rem);right:0;width:min(18rem,calc(100vw - 2rem));z-index:calc(var(--z-overlay) + 2)}.account-switcher-title{margin:0 0 var(--space-sm);padding:0 .15rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.account-switcher-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.account-switcher-row{display:flex;flex-direction:column;gap:.1rem}.account-switcher-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:.55rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition-normal)}.account-switcher-item:hover{background:var(--color-surface-hover)}.account-switcher-item.active{background:var(--color-primary-subtle-bg)}.account-switcher-item .avatar-sm,.account-switcher-item .avatar-sm.avatar-placeholder{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.account-switcher-item-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:.1rem}.account-switcher-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-handle{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-switcher-active{flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.03em}.account-switcher-loading{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.account-switcher-remove{align-self:flex-start;margin-left:calc(36px + var(--space-sm) + .6rem);padding:.1rem .35rem;border:none;background:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer}.account-switcher-remove:hover{color:var(--color-danger)}.account-switcher-actions{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-subtle)}.account-switcher-link{display:block;padding:.55rem .6rem;border-radius:var(--radius-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);text-decoration:none;transition:background var(--transition-normal)}.account-switcher-link:hover{background:var(--color-primary-subtle-bg);text-decoration:none}.account-switcher-footer{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-subtle)}.account-switcher-logout,.account-switcher-logout-all,.account-switcher-settings{padding:.55rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);text-align:left;cursor:pointer;text-decoration:none;font:inherit;font-size:var(--font-size-md);display:block;transition:background var(--transition-normal),color var(--transition-normal)}.account-switcher-logout:hover,.account-switcher-logout-all:hover,.account-switcher-settings:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.account-switcher-logout-all{color:var(--color-danger-text)}.account-switcher-logout-all:hover{background:var(--color-danger-subtle-bg);color:var(--color-danger)}.account-switcher--inline{width:100%}.account-switcher--inline .account-switcher-actions{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-subtle)}.account-switcher--inline .account-switcher-link{padding:.65rem var(--space-sm)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);min-width:var(--touch-min);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);flex-shrink:0}.theme-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.theme-toggle svg{display:block;width:20px;height:20px}.theme-toggle-header,.theme-toggle-corner{border:none;background:transparent}.theme-toggle-header:hover,.theme-toggle-corner:hover{background:var(--color-surface-hover);color:var(--color-text)}.theme-toggle-corner{position:fixed;top:0;right:var(--space-sm);z-index:calc(var(--z-nav) + 1)}.theme-toggle-auth{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--space-md));right:var(--space-md);z-index:var(--z-nav)}.theme-toggle-sheet{width:2.5rem;height:2.5rem;min-width:2.5rem}.mobile-nav-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:var(--z-overlay);border:none;padding:0;cursor:pointer;pointer-events:auto}.mobile-nav-sheet{position:fixed;left:0;right:0;bottom:var(--mobile-bottom-nav-block);z-index:calc(var(--z-overlay) + 1);background:var(--color-surface);border-radius:var(--radius) var(--radius) 0 0;max-height:min(75dvh,calc(100dvh - var(--mobile-header-block) - var(--mobile-bottom-nav-block) - var(--space-md)));display:flex;flex-direction:column;animation:mobile-nav-sheet-up var(--transition-slow) ease-out;box-shadow:0 -8px 32px var(--color-shadow);pointer-events:auto}@keyframes mobile-nav-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-nav-sheet-handle{width:40px;height:4px;background:var(--color-border);border-radius:var(--radius-full);margin:var(--space-sm) auto 0;flex-shrink:0}.mobile-nav-sheet-header{display:flex;align-items:center;justify-content:center;padding:var(--space-md) 48px;border-bottom:1px solid var(--color-border);position:relative;flex-shrink:0}.mobile-nav-sheet-header h2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.mobile-nav-sheet-close{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:36px;height:36px;font-size:1.5rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.mobile-nav-sheet-body{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.mobile-nav-sheet-profile{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm);border:none;border-radius:var(--radius-sm);background:none;font:inherit;color:var(--color-text);text-align:left;cursor:pointer}.mobile-nav-sheet-profile:hover{background:var(--color-surface-hover)}.mobile-nav-sheet-profile .avatar,.mobile-nav-sheet-profile .avatar-placeholder{width:48px;height:48px;min-width:48px;min-height:48px}.mobile-nav-sheet-profile .avatar-placeholder{font-size:var(--font-size-lg)}.mobile-nav-sheet-profile-text{display:flex;flex-direction:column;min-width:0}.mobile-nav-sheet-profile-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.mobile-nav-sheet-profile-handle{font-size:var(--font-size-md);color:var(--color-text-muted)}.mobile-nav-sheet-links{display:flex;flex-direction:column;gap:.15rem}.mobile-nav-sheet-link{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:.75rem var(--space-sm);border:none;border-radius:var(--radius-sm);background:none;font:inherit;color:var(--color-text);text-align:left;font-weight:var(--font-weight-medium);cursor:pointer}.mobile-nav-sheet-link:hover{background:var(--color-surface-hover);color:var(--color-primary)}.mobile-nav-sheet-link-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.mobile-nav-sheet-link-icon svg{display:block;width:22px;height:22px}.mobile-nav-sheet-link-label{flex:1}.mobile-nav-sheet-link-badge{background:var(--color-badge);color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.mobile-nav-sheet-section{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-md)}.mobile-nav-sheet-section-title{margin:0 0 var(--space-sm);padding:0 var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.mobile-nav-sheet-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem var(--space-sm);font-weight:var(--font-weight-medium)}.mobile-nav-sheet-logout{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;min-height:var(--touch-min);margin-top:auto;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.mobile-nav-sheet-logout:hover{background:var(--color-surface-hover);color:var(--color-text)}.mobile-nav-sheet-logout svg{width:20px;height:20px}.mobile-nav-sheet-logout--all{margin-top:calc(-1 * var(--space-sm));color:var(--color-danger);border-color:transparent;background:transparent}.mobile-nav-sheet-logout--all:hover{background:var(--color-surface-hover);color:var(--color-danger)}.mobile-nav-sheet-meta{margin-top:auto;padding:var(--space-md) var(--space-sm) 0;border-top:1px solid var(--color-border-subtle)}.mobile-nav-sheet-copyright,.mobile-nav-sheet-tagline{margin:0;font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted)}.mobile-nav-sheet-tagline{margin-top:.35rem}.navbar{position:sticky;top:0;z-index:var(--z-nav);background:var(--color-navbar);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-navbar-border);padding-top:env(safe-area-inset-top,0px);flex-shrink:0}.navbar-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);height:var(--nav-height);padding:0 var(--mobile-gutter);max-width:var(--wide-max);margin:0 auto;width:100%}.navbar-mobile-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.navbar-mobile-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);flex-shrink:0;border-radius:var(--radius-full);color:var(--color-text-muted);text-decoration:none}.navbar-mobile-icon-btn:hover,.navbar-mobile-icon-btn.active{color:var(--color-text);background:var(--color-surface-hover);text-decoration:none}.navbar-mobile-icon-btn svg{display:block;width:22px;height:22px}.navbar-mobile-icon-badge{position:absolute;top:8px;right:8px;background:var(--color-badge);color:var(--color-text-on-primary);font-size:.55rem;font-weight:var(--font-weight-bold);padding:1px 4px;border-radius:var(--radius-full);min-width:14px;text-align:center;line-height:1.3;pointer-events:none}.navbar-mobile-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);flex-shrink:0;border-radius:var(--radius-full);text-decoration:none;box-sizing:border-box}.navbar-mobile-avatar.active{box-shadow:inset 0 0 0 2px var(--color-primary)}.navbar-mobile-avatar .avatar,.navbar-mobile-avatar .avatar-placeholder{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:var(--radius-full)}.navbar-mobile-avatar .avatar-placeholder{font-size:.85rem}.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:var(--nav-height);padding-bottom:var(--space-sm);overflow:visible}.navbar-links{display:none;gap:var(--space-lg)}.navbar-links a{color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-decoration:none;padding:.35rem 0}.navbar-links a:hover,.navbar-links a.active{color:var(--color-text);text-decoration:none}.navbar-links a.active{font-weight:var(--font-weight-semibold);color:var(--color-primary);position:relative}.navbar-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-.45rem;height:2px;border-radius:var(--radius-full);background:var(--color-primary)}.notif-link{position:relative}.badge{position:absolute;top:-6px;right:-10px;background:var(--color-badge);color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 5px;border-radius:var(--radius-full);min-width:16px;text-align:center;line-height:1.2}.navbar-user{display:flex;align-items:center;gap:.35rem;flex-shrink:0;overflow:visible}.user-chip{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);text-decoration:none;padding:.15rem}.user-chip:hover{text-decoration:none}.user-chip .avatar,.user-chip .avatar-placeholder{width:36px;height:36px;min-width:36px;min-height:36px}.user-chip .avatar-placeholder{font-size:.9rem}.user-chip-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.user-chip-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-handle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.navbar-logout{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);border:none;background:transparent;color:var(--color-text-muted)}.navbar-logout:hover{background:var(--color-surface-subtle);color:var(--color-text)}.navbar-logout svg{display:block;width:20px;height:20px}.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;min-height:var(--bottom-nav-height);background:var(--color-navbar-solid);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border-subtle);align-items:stretch;padding:.3rem var(--mobile-gutter) calc(.3rem + env(safe-area-inset-bottom,0px));z-index:var(--z-nav)}.mobile-nav--staff{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav--admin-route{display:none!important}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:0;min-height:100%;color:var(--color-nav-tab);font-weight:var(--font-weight-medium);text-decoration:none;padding:.15rem 0;border-radius:var(--radius-sm);position:relative;-webkit-tap-highlight-color:transparent}.mobile-nav-item:hover{text-decoration:none;color:var(--color-nav-tab-active)}.mobile-nav-item.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.mobile-nav-item.active .mobile-nav-icon{background:var(--color-primary-subtle-bg);border-radius:var(--radius-full)}.mobile-nav-more{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:none;font:inherit;cursor:pointer;width:100%;text-align:center;color:var(--color-nav-tab)}.mobile-nav-more:hover,.mobile-nav-more.active{color:var(--color-nav-tab-active)}.mobile-nav-icon{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.mobile-nav-icon svg{display:block;width:22px;height:22px}.mobile-nav-label{font-size:.6rem;line-height:1.1;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.mobile-nav-badge{position:absolute;top:-2px;right:-6px;background:var(--color-badge);color:var(--color-text-on-primary);font-size:.55rem;font-weight:var(--font-weight-bold);padding:1px 4px;border-radius:var(--radius-full);min-width:14px;text-align:center;line-height:1.3;pointer-events:none}@media (max-width: 767px){.app-layout--authenticated .navbar,.app-layout--guest .navbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;pointer-events:none}.app-layout--authenticated .navbar-mobile-head,.app-layout--guest .navbar-mobile-head{pointer-events:auto;background:var(--color-navbar);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-navbar-border)}.app-layout--authenticated .mobile-nav,.app-layout--guest .mobile-nav{pointer-events:auto;background:var(--color-navbar-solid);border-top:1px solid var(--color-navbar-border)}.app-layout--authenticated .mobile-nav--behind-sheet,.app-layout--guest .mobile-nav--behind-sheet{pointer-events:none}.app-layout--admin .navbar-mobile-head{display:none}}@media (min-width: 768px){.navbar{padding-top:env(safe-area-inset-top,0px)}.mobile-nav{display:none}}.navbar-mobile-signin{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);flex-shrink:0;border-radius:var(--radius-full);color:var(--color-text-muted);text-decoration:none}.navbar-mobile-signin:hover,.navbar-mobile-signin:focus-visible{color:var(--color-primary);background:var(--color-surface-hover);text-decoration:none}.navbar-mobile-signin svg{display:block;width:22px;height:22px}.guest-navbar-user{gap:var(--space-sm)}.guest-signin-chip{padding-right:var(--space-sm)}.guest-signin-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-full);background:var(--color-surface-subtle);color:var(--color-text-muted)}.guest-signin-chip-icon svg{display:block;width:20px;height:20px}.guest-signin-chip:hover .guest-signin-chip-icon{background:var(--color-primary-subtle-bg);color:var(--color-primary)}.guest-nav-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;cursor:pointer;color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding:.35rem 0;text-decoration:none}.guest-nav-link-btn:hover{color:var(--color-text)}.guest-sheet-auth{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius);background:var(--color-primary-subtle-bg);border:1px solid var(--color-primary-subtle-border)}.guest-sheet-auth-message{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text)}.guest-sheet-auth-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.guest-sheet-auth-actions .btn{flex:1;min-width:7rem}.guest-sheet-legal .mobile-nav-sheet-link{padding-left:var(--space-md)}.desktop-sidebar{position:sticky;top:0;flex-shrink:0;width:var(--sidebar-width);height:100dvh;border-right:1px solid var(--color-border-subtle);background:var(--color-surface);box-shadow:1px 0 0 var(--color-border-subtle);z-index:var(--z-nav)}.desktop-sidebar-inner{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:var(--space-xl) var(--space-lg);overflow-y:auto}.desktop-sidebar-top{display:flex;flex-direction:column;gap:var(--space-xl)}.desktop-sidebar-logo{padding:0 var(--space-xs)}.desktop-sidebar-nav{display:flex;flex-direction:column;gap:.15rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:none;font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-decoration:none;text-align:left;cursor:pointer;position:relative;transition:background var(--transition-normal),color var(--transition-normal)}.sidebar-nav-item:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.sidebar-nav-item.active{background:var(--color-primary-subtle-bg);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1.35rem;border-radius:0 3px 3px 0;background:var(--color-primary)}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.sidebar-nav-icon svg{display:block;width:22px;height:22px}.sidebar-nav-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.sidebar-nav-avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.sidebar-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav-badge{margin-left:auto;background:var(--color-badge);color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 7px;border-radius:var(--radius-full);min-width:20px;text-align:center;line-height:1.3}.desktop-sidebar-bottom{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-lg);margin-top:var(--space-md);border-top:1px solid var(--color-border-subtle)}.desktop-sidebar-legal{display:flex;flex-direction:column;gap:.3rem;padding:0 var(--space-xs)}.desktop-sidebar-legal a{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-normal)}.desktop-sidebar-legal a:hover{color:var(--color-text);text-decoration:none}.desktop-sidebar-copyright{margin:0;padding:0 var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.desktop-sidebar-tagline{margin:.35rem 0 0;padding:0 var(--space-xs);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);opacity:.85}.desktop-top-bar{position:sticky;top:0;z-index:calc(var(--z-nav) - 1);flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;min-height:56px;padding:var(--space-sm) var(--desktop-shell-padding);background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent}.desktop-top-bar-actions{display:flex;align-items:center;gap:var(--space-md)}.desktop-top-bar-login{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 1rem;border-radius:var(--radius-full);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);text-decoration:none;transition:background var(--transition-normal),color var(--transition-normal)}.desktop-top-bar-login:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.desktop-top-bar-signup{min-height:38px;padding:0 1.15rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full)}.desktop-top-bar .theme-toggle-header{width:38px;height:38px;min-width:38px;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface)}.desktop-top-bar .theme-toggle-header:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.guest-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-overlay)}.guest-auth-modal{width:100%;max-width:22rem;text-align:center;padding:var(--space-xl) var(--space-lg)}.guest-auth-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.guest-auth-message{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin-bottom:var(--space-lg)}.guest-auth-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.guest-auth-actions .btn{width:100%}.guest-auth-dismiss{margin-top:var(--space-md);width:100%}.site-footer{margin-top:auto;padding:var(--space-xl) var(--space-md);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);text-align:center}.site-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.site-footer-nav a{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-normal)}.site-footer-nav a:hover{color:var(--text)}.site-footer-copy{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.site-footer-copy a{color:var(--text-muted)}.site-footer-copy a:hover{color:var(--text)}.site-footer-copyright{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-sm)}@media (min-width: 768px){.site-footer{display:none}}.emoji-picker-wrap{position:relative;display:inline-flex}.emoji-picker-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:36px;padding:.35rem .65rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);background:transparent;border:1px solid transparent}.emoji-picker-trigger:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border)}.emoji-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.emoji-picker-trigger-text{line-height:1}.emoji-picker-panel{width:min(18.5rem,calc(100vw - 2rem));max-height:16rem;overflow-y:auto;padding:var(--space-sm);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-dropdown);-webkit-overflow-scrolling:touch}.emoji-picker-panel--portal{position:fixed;z-index:var(--z-modal);margin:0}.emoji-picker-group+.emoji-picker-group{margin-top:var(--space-sm)}.emoji-picker-group-label{margin:0 0 .25rem;padding:0 .15rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.15rem}.emoji-picker-item{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);font-size:1.2rem;line-height:1;background:transparent}.emoji-picker-item:hover{background:var(--color-surface-hover)}.emoji-picker-wrap--icon-only .emoji-picker-trigger-text{display:none}.emoji-picker-wrap--icon-only .emoji-picker-trigger{min-width:36px;padding-inline:.35rem}.gif-picker-wrap{position:relative;display:inline-flex}.gif-picker-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.gif-picker-panel{width:min(20rem,calc(100vw - 2rem));max-height:18rem}.gif-picker-search-wrap{margin-bottom:var(--space-sm)}.gif-picker-search{width:100%;min-height:36px;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit}.gif-picker-search:focus{outline:2px solid var(--color-primary);outline-offset:0}.gif-picker-status{margin:0;padding:var(--space-md) var(--space-sm);text-align:center;font-size:var(--font-size-md);color:var(--color-text-muted)}.gif-picker-status--error{color:var(--color-danger)}.gif-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs)}.gif-picker-item{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:0;border-radius:var(--radius-sm);background:var(--color-surface-hover);border:1px solid var(--color-border);overflow:hidden}.gif-picker-item:hover:not(:disabled){border-color:var(--color-primary)}.gif-picker-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.gif-picker-item:disabled{opacity:.6;cursor:wait}.gif-picker-credit{margin:var(--space-sm) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}@media (max-width: 480px){.emoji-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.gif-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.composer-tool-group{display:inline-flex;align-items:center;gap:.125rem;flex-shrink:0}.composer-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:36px;min-height:36px;padding:.35rem .65rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);background:transparent;border:1px solid transparent;cursor:pointer}.composer-tool-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border)}.composer-tool-btn:disabled{opacity:.5;cursor:not-allowed}.composer-tool-btn--icon-only{padding-inline:.35rem}.composer-tool-btn--icon-only .composer-tool-btn-text{display:none}.composer-tool-group .emoji-picker-trigger,.composer-tool-group .gif-picker-trigger{min-width:36px;min-height:36px;padding-inline:.35rem}.composer-tool-group .emoji-picker-trigger-text,.composer-tool-group .gif-picker-trigger-text{display:none}.select-menu{display:inline-flex;align-items:center;gap:.4rem;flex:1;min-width:0}.select-menu-prefix{flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.select-menu-field{position:relative;display:inline-flex;flex:1;min-width:0;max-width:11.5rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);box-shadow:0 1px 2px #00000008;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal)}.select-menu-field:hover:not(:has(.select-menu-trigger:disabled)){border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:var(--color-surface-hover)}.select-menu-field.is-open,.select-menu-field:focus-within{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.select-menu-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:2rem;padding:0 .55rem 0 .75rem;border:none;border-radius:inherit;background:transparent;color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.select-menu-trigger:focus{outline:none}.select-menu-trigger:disabled{opacity:.55;cursor:not-allowed}.select-menu-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu-chevron{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color var(--transition-normal),transform var(--transition-normal)}.select-menu-field:hover:not(:has(.select-menu-trigger:disabled)) .select-menu-chevron{color:var(--color-text)}.select-menu-field.is-open .select-menu-chevron{color:var(--color-primary);transform:rotate(180deg)}.select-menu-panel{position:fixed;z-index:var(--z-modal);margin:0;padding:.35rem;border-radius:calc(var(--radius) + 2px);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-dropdown);max-height:min(16rem,calc(100vh - 2rem));overflow-y:auto;-webkit-overflow-scrolling:touch;animation:select-menu-enter .14s ease-out}@keyframes select-menu-enter{0%{opacity:0}to{opacity:1}}.select-menu-option{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .65rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.select-menu-option:hover,.select-menu-option.is-highlighted{background:var(--color-surface-hover)}.select-menu-option.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.select-menu-option.is-selected.is-highlighted{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface-hover))}.select-menu-option-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.select-menu-option-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.3}.select-menu-option-check{flex-shrink:0;display:inline-flex;color:var(--color-primary)}.select-menu-option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.35}.create-post{margin:0;padding:var(--space-md) var(--space-lg)}.create-post.card{background:transparent;border:none;border-radius:0;box-shadow:none}.create-post-row{display:flex;align-items:flex-start;gap:.65rem}.create-post-avatar{flex-shrink:0;margin-top:.2rem}.create-post-body{flex:1;min-width:0;border:none;border-radius:0;background:transparent;overflow:visible}.create-post-body:focus-within{border:none;box-shadow:none}.create-post-body textarea{width:100%;min-height:2.5rem;padding:.35rem 0;border:none;background:transparent;color:var(--color-text);resize:none;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.create-post-body textarea::placeholder{color:var(--color-text-muted)}.create-post-body textarea:focus{outline:none}.create-post-bar{display:flex;align-items:center;gap:var(--space-sm);padding:.5rem 0 0;border-top:none}.create-post-bar-tools{display:inline-flex;align-items:center;gap:0;flex-shrink:0}.create-post-bar .composer-tool-btn,.create-post-bar .emoji-picker-trigger,.create-post-bar .gif-picker-trigger{width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted)}.create-post-bar .composer-tool-btn:hover:not(:disabled),.create-post-bar .emoji-picker-trigger:hover:not(:disabled),.create-post-bar .gif-picker-trigger:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-subtle)}.create-post-audience{margin-left:auto}.create-post-submit{flex-shrink:0;min-height:2rem;padding:0 .9rem;border-radius:var(--radius-full);font-size:var(--font-size-sm)}.create-post-preview{position:relative;margin:0 .65rem .65rem;border-radius:var(--radius);overflow:hidden;background:var(--color-media-bg)}.create-post-preview-remove{position:absolute;top:.4rem;right:.4rem;z-index:2;width:1.5rem;height:1.5rem;border:none;border-radius:var(--radius-full);background:#00000080;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.create-preview-image{display:block;width:100%;max-height:240px;object-fit:cover}.create-video-compose{display:flex;flex-direction:column;gap:var(--space-sm);padding:0 .65rem .65rem}.create-preview-video-wrap{aspect-ratio:9 / 16;max-width:min(100%,200px);margin:0 auto;background:var(--color-media-bg);border-radius:var(--radius);overflow:hidden}.create-preview-video{width:100%;height:100%;object-fit:cover;display:block}.create-cover-panel{padding:var(--space-sm);border-radius:var(--radius);background:var(--color-surface-subtle)}.create-cover-header{display:flex;flex-direction:column;gap:.1rem;margin-bottom:var(--space-sm)}.create-cover-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.create-cover-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.35}.create-cover-row{display:flex;gap:var(--space-sm);align-items:flex-start}.create-cover-thumb{width:56px;aspect-ratio:9 / 16;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-media-bg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}.create-cover-thumb--empty{background:var(--color-surface)}.create-cover-controls{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.create-cover-scrub{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.create-cover-scrub input[type=range]{width:100%;accent-color:var(--color-primary)}.create-cover-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.create-aspect-hint{margin:0 .65rem .65rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.create-post-error{margin:var(--space-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-danger, #b91c1c)}.create-post .btn-primary{background:var(--color-create-btn-bg);color:var(--color-create-btn-fg);border:none}.create-post .btn-primary:hover{filter:brightness(1.06)}@media (max-width: 767px){.create-post{padding:var(--space-md) var(--mobile-gutter)}}@media (max-width: 480px){.create-post-bar{flex-wrap:wrap}.create-post-audience{order:3;flex:1 1 100%;max-width:none}.create-post-audience .select-menu-field{max-width:none}.create-post-submit{margin-left:auto}}@media (min-width: 640px){.create-post-body textarea{min-height:3.5rem}.create-preview-image{max-height:280px}}.follow-btn-icon{width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-avatar-ring);box-shadow:0 2px 6px var(--color-shadow-elevated)}.follow-btn-icon.following{background:var(--color-surface);color:var(--color-text);font-size:.7rem}.follow-btn-icon:disabled{opacity:.6}.follow-btn-shorts{width:24px;height:24px;border-radius:50%;background:var(--color-shorts-subscribe);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 8px #00000059;flex-shrink:0;transition:transform var(--transition-fast),opacity var(--transition-normal)}.follow-btn-shorts:hover:not(:disabled){transform:scale(1.08)}.follow-btn-shorts:active:not(:disabled){transform:scale(.95)}.follow-btn-shorts:disabled{opacity:.65}.follow-btn-shorts svg{display:block}.follow-btn-caption{flex-shrink:0;padding:.2rem .7rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.25;border:1.5px solid #ffffff;background:transparent;color:#fff;min-height:unset;text-shadow:none;box-shadow:0 1px 4px #00000040;transition:background var(--transition-normal),border-color var(--transition-normal)}.follow-btn-caption:hover:not(:disabled){background:#ffffff1f}.follow-btn-caption.following{background:#ffffff2e;border-color:#ffffff8c;color:#fffffff2;font-weight:var(--font-weight-semibold)}.follow-btn-caption:disabled{opacity:.65}.follow-btn-post{flex-shrink:0;padding:.3rem .85rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.25;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-height:32px;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.follow-btn-post:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border)}.follow-btn-post.following{background:transparent;border-color:var(--color-border-subtle);color:var(--color-text-muted)}.follow-btn-post:disabled{opacity:.65}.post-menu{position:relative;flex-shrink:0}.post-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);color:var(--color-text-muted);font-size:1.1rem;letter-spacing:.05em;line-height:1;transition:background var(--transition-normal),color var(--transition-normal)}.post-menu-trigger:hover{background:var(--color-surface-subtle);color:var(--color-text)}.post-menu-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:10rem;padding:.35rem;border-radius:var(--radius);background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-dropdown)}.post-menu-item{display:block;width:100%;text-align:left;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);transition:background var(--transition-normal)}.post-menu-item:hover{background:var(--color-surface-hover)}.post-menu-item--danger{color:var(--color-danger)}.post-menu-item--danger:hover{background:var(--color-danger-subtle-bg)}.profile-user-menu{position:absolute;top:0;right:0;z-index:2}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--color-overlay-heavy);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:confirm-fade-in .15s ease-out}.confirm-modal{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));animation:confirm-slide-up .2s ease-out;border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-dropdown)}.confirm-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}.confirm-modal-message{color:var(--text-muted);font-size:.9375rem;margin-bottom:var(--space-lg);line-height:1.5}.confirm-modal-error{color:var(--danger);font-size:.875rem;margin-bottom:var(--space-md)}.confirm-modal-actions{display:flex;flex-direction:column-reverse;gap:var(--space-sm)}.confirm-modal-actions .btn{width:100%;min-height:var(--touch-min)}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-up{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 640px){.confirm-modal-overlay{align-items:center;padding:var(--space-md)}.confirm-modal{width:min(380px,100%);border-radius:var(--radius);padding:var(--space-lg);animation:confirm-scale-in .2s ease-out}.confirm-modal-actions{flex-direction:row;justify-content:flex-end}.confirm-modal-actions .btn{width:auto;min-width:6rem}}@keyframes confirm-scale-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.reaction-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem}.reaction-bar--compact{margin-top:.25rem}.engagement-rail{display:flex;flex-direction:column;gap:.3rem;margin-top:.2rem}.engagement-rail--end{align-items:flex-end}.engagement-rail--start{align-items:flex-start}.engagement-rail-actions{display:flex;align-items:center;gap:.15rem;padding:.1rem;border-radius:999px;border:1px solid transparent;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease,border-color .15s ease,background .15s ease}@media (hover: hover) and (pointer: fine){.chat-message-wrap:hover .engagement-rail-actions,.comment-bubble:hover .engagement-rail-actions,.engagement-rail-actions:focus-within{opacity:1;transform:translateY(0);border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06))}}@media (hover: none),(pointer: coarse){.engagement-rail-actions{opacity:1;transform:none;border-color:var(--border);background:var(--surface)}}.engagement-rail-btn{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.3rem .55rem;min-height:unset;border-radius:999px}.engagement-rail-btn:hover{color:var(--primary);background:var(--surface-hover)}.reaction-picker-wrap{position:relative;display:inline-flex}.reaction-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:999px;border:none;background:transparent;color:var(--text-muted);min-height:unset;padding:0;transition:color .15s ease,background .15s ease,transform .12s ease}.reaction-trigger:hover,.reaction-trigger--open{color:var(--primary);background:var(--surface-hover)}.reaction-trigger--active{color:var(--primary)}.reaction-trigger-emoji{font-size:1rem;line-height:1}.reaction-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.reaction-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.75rem;line-height:1.2;min-height:unset}.reaction-chip--mine{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.reaction-chip-emoji{font-size:.9rem;line-height:1}.reaction-chip-count{font-weight:600;color:var(--text-muted)}.reaction-picker{display:flex;gap:.15rem;padding:.4rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .12));animation:reaction-picker-in .16s ease}.reaction-picker--portal{position:fixed;z-index:var(--z-modal, 100);animation:reaction-picker-fade .16s ease}@keyframes reaction-picker-in{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reaction-picker-fade{0%{opacity:0}to{opacity:1}}.reaction-picker-item{width:2.15rem;height:2.15rem;border-radius:999px;font-size:1.2rem;line-height:1;min-height:unset;padding:0;background:transparent;transition:transform .12s ease,background .12s ease}.reaction-picker-item:hover{transform:scale(1.15);background:var(--surface-hover)}.reaction-picker-item--active{background:color-mix(in srgb,var(--primary) 14%,var(--surface))}.reply-preview{display:flex;align-items:center;gap:var(--space-sm);padding:.55rem .75rem;border-bottom:1px solid var(--border);background:var(--color-overlay-muted, var(--surface-hover))}.reply-preview-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.reply-preview-label{font-size:.75rem;font-weight:600;color:var(--primary)}.reply-preview-text{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview-cancel{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:1rem;line-height:1;min-height:unset;padding:0}.reply-quote{display:flex;align-items:stretch;gap:.45rem;width:100%;margin-bottom:.35rem;padding:.35rem .45rem;border-radius:var(--radius-sm);background:var(--color-overlay-muted, rgba(0, 0, 0, .06));text-align:left;min-height:unset}.reply-quote:disabled{cursor:default}.reply-quote-bar{width:3px;border-radius:999px;background:var(--primary);flex-shrink:0}.reply-quote-text{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-bubble.mine .reply-quote{background:#ffffff26}.chat-bubble.mine .reply-quote-text{color:#ffffffd9}.chat-bubble.mine .reply-quote-bar{background:#fffc}.comment-row--reply{margin-left:2rem}.comment-row--reply .comment-bubble{border-style:dashed}.chat-bubble-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.chat-row.mine .chat-bubble-footer{align-items:flex-end}.chat-row.mine .engagement-rail-actions{background:var(--surface)}.chat-row.mine .engagement-rail-btn{color:var(--text-muted)}.chat-row.mine .engagement-rail-btn:hover{color:var(--primary);background:var(--surface-hover)}.chat-row.mine .reaction-trigger{color:var(--text-muted)}.chat-row.mine .reaction-trigger:hover,.chat-row.mine .reaction-trigger--open,.chat-row.mine .reaction-trigger--active{color:var(--primary);background:var(--surface-hover)}.chat-row.mine .reaction-chip{background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.chat-row.mine .reaction-chip--mine{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 16%,var(--surface))}.comments-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.comments-section--sheet{margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:column;min-height:100%}.comments-heading{display:flex;align-items:center;gap:var(--space-sm);font-size:.95rem;font-weight:600;margin-bottom:var(--space-md);color:var(--text)}.comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--surface-hover);color:var(--text-muted);font-size:.75rem;font-weight:600}.comments-empty,.comments-loading{text-align:center;color:var(--text-muted);font-size:.875rem;padding:var(--space-md) var(--space-sm)}.comment-composer{margin-bottom:var(--space-lg)}.comment-composer-row{display:flex;align-items:flex-start;gap:var(--space-sm)}.comment-composer-avatar{flex-shrink:0;margin-top:.15rem}.comment-composer-body{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.comment-composer-body textarea{width:100%;min-height:4.5rem;padding:.75rem;border:none;background:transparent;color:var(--text);resize:vertical;line-height:1.45}.comment-composer-body textarea:focus{outline:none}.comment-composer-body:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.comment-attachment-preview{position:relative;display:inline-block;margin:0 .75rem .5rem}.comment-attachment-preview img{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.comment-attachment-remove{position:absolute;top:-.35rem;right:-.35rem;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.comment-composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:.5rem .75rem;border-top:1px solid var(--border);background:var(--color-overlay-muted)}.comment-toolbar-btn{cursor:pointer}.comment-submit-btn{min-height:2rem;padding:.35rem .85rem}.comment-submit-error{color:var(--danger);font-size:.8rem;padding:0 .75rem .65rem}.comments-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-md)}.comment-row{display:flex;align-items:flex-start;gap:var(--space-sm)}.comment-row-avatar{flex-shrink:0;text-decoration:none}.comment-bubble{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .75rem}.comment-bubble-editing{padding:.75rem}.comment-bubble-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin-bottom:.25rem}.comment-author-name{font-weight:600;font-size:.875rem;color:var(--text);text-decoration:none}.comment-author-handle{font-size:.75rem;color:var(--text-muted)}.comment-author-name:hover{color:var(--primary);text-decoration:none}.comment-time{font-size:.75rem;color:var(--text-muted)}.comment-text{font-size:.9rem;line-height:1.45;color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0}.comment-image{display:block;max-width:min(100%,240px);max-height:240px;margin-top:.5rem;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border)}.comment-image-attached{margin-top:0;margin-bottom:.5rem;opacity:.85}.comment-bubble-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--border)}.comment-bubble-actions button{font-size:.75rem;font-weight:500;color:var(--text-muted);padding:0;min-height:unset}.comment-bubble-actions button:hover{color:var(--primary);text-decoration:underline}.comment-bubble-actions .comment-action-danger:hover{color:var(--danger)}.comment-edit{width:100%}.comment-edit textarea{width:100%;padding:.65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;min-height:3.5rem;resize:vertical;margin-bottom:var(--space-sm)}.comment-edit textarea:focus{outline:2px solid var(--primary);outline-offset:0}.comment-edit-error{color:var(--danger);font-size:.8rem;margin-bottom:var(--space-sm)}.comment-edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.comment-guest-prompt{padding:var(--space-sm) 0 var(--space-md)}.report-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-md)}.report-modal{width:100%;max-width:26rem;padding:var(--space-lg);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-dropdown)}.report-modal h2{margin:0 0 .35rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.report-modal-target{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-lg)}.report-modal label{display:block;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin:var(--space-md) 0 .4rem;color:var(--color-text-muted)}.report-modal select,.report-modal textarea{width:100%;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface);padding:.6rem .75rem}.report-modal select:focus,.report-modal textarea:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border));box-shadow:0 0 0 3px var(--color-primary-subtle-bg)}.report-modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.report-modal-success{text-align:center}.report-modal .btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.report-modal .btn-primary:hover{background:var(--color-primary-hover)}.post-audience-badge{display:inline-flex;align-items:center;width:fit-content;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--color-text-muted);background:var(--color-surface-hover);border:1px solid var(--color-border)}.post-audience-badge--compact{padding:.1rem .35rem;font-size:.62rem;letter-spacing:.01em}.post-card-audience{margin-bottom:var(--space-xs);padding-left:calc(var(--avatar-size-sm) + .65rem)}.post-video-audience{position:absolute;top:.45rem;right:.45rem;z-index:2;pointer-events:none}.post-video-audience .post-audience-badge{color:#fff;background:#00000080;border-color:#ffffff2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.post-card{--post-inset: calc(var(--avatar-size-md) + .75rem);padding:var(--space-lg);border-bottom:1px solid var(--color-border-subtle)}.post-card:last-child{border-bottom:none}.post-card.card{background:transparent;border:none;border-radius:0;box-shadow:none;margin:0;padding:var(--space-lg);border-bottom:1px solid var(--color-border-subtle)}.post-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.post-header-aside{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.post-author{display:flex;gap:.75rem;align-items:flex-start;flex:1;min-width:0;color:var(--text);text-decoration:none}.post-author:hover{text-decoration:none}.post-author-meta{min-width:0;flex:1}.post-author-line{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;min-width:0}.post-author-line .user-name-with-role{flex-wrap:nowrap;min-width:0}.post-author-line .user-display-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text)}.post-author-line .user-role-badge{font-size:.65rem;padding:.15em .5em}.post-time-dot,.post-time{font-size:var(--font-size-md);color:var(--text-muted);flex-shrink:0}.post-author-handle{display:block;font-size:var(--font-size-md);color:var(--text-muted);margin-top:.15rem}.post-owner-actions{display:flex;gap:.35rem;flex-shrink:0}.post-owner-btn{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-muted);padding:.3rem .6rem;border-radius:var(--radius-sm)}.post-owner-btn:hover{color:var(--text);background:var(--color-surface-subtle)}.post-owner-btn--danger:hover{color:var(--danger);background:var(--color-danger-subtle-bg)}.post-content{white-space:pre-wrap;margin-bottom:var(--space-md);word-break:break-word;font-size:var(--font-size-lg);line-height:1.6;padding-left:var(--post-inset)}.post-image{display:block;width:100%;max-width:100%;margin:0 0 var(--space-md);border-radius:var(--radius-lg);max-height:560px;object-fit:cover}.post-video-wrap{position:relative;aspect-ratio:9 / 16;width:min(100%,440px);max-width:100%;margin:0 auto var(--space-md);background:var(--color-media-bg);border-radius:var(--radius-lg);overflow:hidden}.post-video{width:100%;height:100%;object-fit:cover;display:block}.post-views{font-size:var(--font-size-md);color:var(--text-muted)}.post-engagement{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-subtle)}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:0 0 var(--space-sm);padding-left:var(--post-inset);font-size:var(--font-size-md);color:var(--text-muted)}.post-meta .post-time{font-size:inherit;color:inherit}.post-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-left:var(--post-inset)}.post-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;flex:1;min-width:0}.post-footer-menu{flex-shrink:0;margin-left:auto}.post-footer-menu .post-menu-panel{top:auto;bottom:calc(100% + 4px)}.like-btn,.comment-btn,.repost-btn,.share-btn{color:var(--text-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);min-height:38px;padding:.4rem .7rem;border-radius:var(--radius-full);transition:color var(--transition-normal),background var(--transition-normal)}.like-btn:hover,.comment-btn:hover,.repost-btn:hover,.share-btn:hover{color:var(--text);background:var(--color-surface-subtle)}.like-btn.liked{color:var(--danger)}.repost-btn.reposted{color:var(--primary)}.share-tip{align-self:center;font-size:var(--font-size-md);color:var(--primary);font-weight:var(--font-weight-medium)}.post-repost-label{font-size:var(--font-size-md);color:var(--text-muted);margin-bottom:var(--space-md);padding-left:var(--post-inset)}.post-repost-label a{color:var(--text);font-weight:var(--font-weight-semibold);text-decoration:none}.post-repost-quote{margin-bottom:var(--space-md);font-style:normal;color:var(--text)}.post-embed{display:block;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);margin:0 0 var(--space-md);color:inherit;text-decoration:none;background:var(--color-surface-subtle)}.post-embed:hover{background:var(--color-surface-hover);text-decoration:none}.post-content-embedded{font-size:var(--font-size-base);margin-bottom:var(--space-sm);padding-left:0}.post-embed .post-video-wrap{margin-left:auto;margin-right:auto}.post-image-embedded{border-radius:var(--radius);max-height:360px;object-fit:cover;width:100%}.edit-form{padding-left:var(--post-inset)}.edit-form textarea{width:100%;padding:.85rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface);color:var(--text);margin-bottom:var(--space-sm);min-height:5.5rem;font-size:var(--font-size-lg)}.edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}@media (min-width: 768px){.post-card,.post-card.card{padding:var(--space-lg) var(--space-xl)}.post-video-wrap{width:min(100%,480px)}}@media (max-width: 767px){.post-card,.post-card.card{--post-inset: 0;padding:var(--space-md) var(--mobile-gutter);background:var(--color-surface)}.post-header{margin-bottom:var(--space-sm);gap:var(--space-sm)}.post-header-aside{gap:.25rem}.post-header-aside .follow-btn-post{padding:.25rem .65rem;min-height:30px;font-size:var(--font-size-xs)}.post-author{gap:.65rem}.post-author-line .user-display-name{font-size:var(--font-size-base)}.post-time-dot,.post-time,.post-author-handle{font-size:var(--font-size-sm)}.post-content{padding-left:0;font-size:var(--font-size-base);line-height:1.55;margin-bottom:var(--space-sm)}.post-engagement{border-top:none;padding-top:0;margin-top:var(--space-sm)}.post-repost-label,.post-meta,.edit-form{padding-left:0}.post-meta{font-size:var(--font-size-sm);margin-bottom:.65rem}.post-footer{padding-left:0;align-items:center;justify-content:space-between;gap:.25rem;margin:0}.post-footer-actions{justify-content:space-between;gap:0;margin:0 calc(-1 * var(--space-xs));flex:1;min-width:0}.post-footer-menu{flex:0 0 auto;margin-left:0}.post-footer-menu .post-menu-trigger{min-height:44px;width:44px;height:44px}.post-image{width:calc(100% + 2 * var(--mobile-gutter));max-width:none;margin-left:calc(-1 * var(--mobile-gutter));margin-right:calc(-1 * var(--mobile-gutter));margin-bottom:var(--space-sm);border-radius:0;max-height:min(72vh,520px);object-fit:cover}.post-video-wrap{width:calc(100% + 2 * var(--mobile-gutter));max-width:none;margin-left:calc(-1 * var(--mobile-gutter));margin-right:calc(-1 * var(--mobile-gutter));margin-bottom:var(--space-sm);border-radius:0;aspect-ratio:9 / 16;max-height:min(78vh,640px)}.post-video-wrap .post-video{object-fit:contain;background:#000}.post-embed{margin-left:0;margin-right:0;border-radius:var(--radius)}.like-btn,.comment-btn,.repost-btn,.share-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.35rem .2rem;font-size:var(--font-size-sm)}.share-tip{flex:1;text-align:center;font-size:var(--font-size-sm)}}.request-error-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-xl) var(--space-md);margin:var(--space-lg) auto;max-width:26rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.request-error-state--compact{padding:var(--space-lg) var(--space-md);margin:var(--space-md) auto}.request-error-state-icon{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:var(--radius-full);color:var(--color-danger);background:var(--color-network-server-icon-bg)}.request-error-state-icon--offline,.request-error-state-icon--network,.request-error-state-icon--timeout{color:var(--color-network-offline-text);background:var(--color-network-offline-icon-bg)}.request-error-state-icon--rate-limit{color:var(--color-network-warning-text);background:var(--color-network-warning-icon-bg)}.request-error-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.request-error-state-message{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-text-muted);margin:0}.request-error-state-retry{margin-top:var(--space-xs);min-width:8rem}.guest-banner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);background:var(--color-primary-subtle-bg);border:1px solid var(--color-primary-subtle-border)}.guest-banner--compact{padding:var(--space-md)}.guest-banner-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-normal)}.guest-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.feed-page{width:100%;max-width:680px;margin:0 auto;padding:0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.feed-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0 0}.feed-top-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.03em;margin:0}.feed-top-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-decoration:none;padding:.35rem .65rem;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);transition:color var(--transition-normal),border-color var(--transition-normal)}.feed-top-link:hover{color:var(--color-primary);border-color:var(--color-primary-subtle-border);background:var(--color-primary-subtle-bg)}.feed-composer,.feed-posts{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.feed-composer--guest{padding:0;border:none;background:transparent}.feed-banner{margin:0;padding:var(--space-md);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface-subtle)}.feed-banner-success{color:var(--color-text);background:var(--color-success-subtle-bg)}.feed-loading,.feed-empty{padding:var(--space-xl) var(--space-md)}@media (max-width: 767px){.feed-page{padding:0;max-width:none;gap:var(--space-xs)}.feed-top{padding:var(--space-sm) var(--mobile-gutter) 0}.feed-composer,.feed-posts{border-left:none;border-right:none;border-radius:0}.feed-composer:not(.feed-composer--guest){background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.feed-composer--guest{padding:0 var(--mobile-gutter)}.feed-composer--guest .guest-banner{border-radius:var(--radius-lg)}.feed-posts{display:flex;flex-direction:column;gap:var(--space-xs);background:transparent;border:none}.feed-posts .post-card{border-bottom:none}.feed-loading,.feed-empty{padding:var(--space-xl) var(--mobile-gutter);background:var(--color-surface)}}@media (min-width: 768px){.feed-page{max-width:var(--desktop-feed-max);padding:0;gap:var(--space-lg)}.feed-top{padding:0;align-items:baseline}.feed-top-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.035em}.feed-composer,.feed-posts{border-color:var(--color-border);box-shadow:var(--shadow-surface-sm)}.feed-posts .post-card{transition:background var(--transition-normal)}.feed-posts .post-card:hover{background:var(--color-surface-hover)}}.comment-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:var(--z-overlay)}.comment-sheet{position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--z-overlay) + 1);background:var(--color-surface);border-radius:var(--radius) var(--radius) 0 0;max-height:75dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);animation:sheet-up var(--transition-slow) ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.comment-sheet-handle{width:40px;height:4px;background:var(--color-border);border-radius:var(--radius-full);margin:var(--space-sm) auto 0}.comment-sheet-header{display:flex;align-items:center;justify-content:center;padding:var(--space-md) 48px;border-bottom:1px solid var(--color-border);position:relative;flex-shrink:0}.comment-sheet-header h2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.comment-sheet-close{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:36px;height:36px;font-size:1.5rem;color:var(--color-text-muted)}.comment-sheet-body{flex:1;overflow-y:auto;padding:var(--space-md)}.reel-card{position:relative;width:100%;height:var(--reels-item-height);flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always;background:var(--color-reels-stage-bg);overflow:hidden}.reel-card-media{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-reels-stage-bg)}.reel-card-video{width:100%;height:100%;object-fit:cover;display:block}.reel-card-play-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-light);pointer-events:none}.reel-card-gradient{position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,var(--color-media-gradient-bottom));pointer-events:none}.reel-card-mute{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--space-md));right:var(--space-md);z-index:2;width:36px;height:36px;border-radius:50%;background:var(--color-media-control-bg);font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center}.reel-card-menu{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--space-md));left:var(--space-md);z-index:3}.reel-card-menu .post-menu-trigger{width:36px;height:36px;color:var(--color-text-on-media);text-shadow:0 1px 4px var(--color-text-shadow-media)}.reel-card-menu .post-menu-trigger:hover{background:var(--color-media-control-bg);color:var(--color-text-on-media)}.reel-card-menu .post-menu-panel{left:0;right:auto}.reel-card-audience{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--space-md));right:calc(var(--space-md) + 2.75rem);left:auto;z-index:2;pointer-events:none}.reel-card-audience .post-audience-badge{color:#fff;background:#00000080;border-color:#ffffff2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reel-card-rail{position:absolute;right:var(--space-sm);bottom:calc(72px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:18px;z-index:2}.reel-card-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--color-avatar-ring);display:block}.reel-card-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);color:var(--color-text-on-media);background:linear-gradient(135deg,var(--color-primary),var(--color-accent-secondary))}.reel-card-creator{display:flex;flex-direction:column;align-items:center;margin-bottom:2px}.reel-card-avatar-link{display:block;line-height:0}.reel-card-author-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:6px}.reel-card-author{display:inline-flex;align-items:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);color:var(--color-text-on-media);text-decoration:none;min-width:0;max-width:100%;overflow:visible}.reel-card-author:hover{text-decoration:none}.reel-card-author .user-name-with-role{flex-wrap:nowrap;color:inherit}.reel-card-author .user-name-primary{flex-wrap:nowrap;min-width:0}.reel-card-author .user-display-name{color:inherit;text-shadow:0 1px 4px var(--color-text-shadow-media-strong)}.reel-card-action{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--color-text-on-media);text-shadow:0 1px 4px var(--color-text-shadow-media)}.reel-card-action span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.reel-card-action-liked{color:var(--color-accent-like)}.reel-card-action-reposted{color:var(--color-primary)}.reel-card-caption{position:absolute;left:var(--space-md);right:72px;bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));z-index:2;color:var(--color-text-on-media);text-shadow:0 1px 4px var(--color-text-shadow-media-strong)}.reel-card-desc{font-size:var(--font-size-md);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;word-break:break-word}.reel-card-views{margin-top:.35rem;font-size:var(--font-size-sm);color:var(--color-text-on-media);opacity:.85;text-shadow:0 1px 4px var(--color-text-shadow-media-strong)}@media (min-width: 768px){.reel-card{border-radius:inherit;height:100%;min-height:0}.reel-card-mute,.reel-card-menu{top:var(--space-md)}.reel-card-rail{right:var(--space-md);bottom:var(--space-lg);gap:14px}.reel-card-avatar{width:40px;height:40px}.reel-card-caption{left:var(--space-md);right:64px;bottom:var(--space-md)}}.reels-page{width:100%;height:var(--reels-viewport-height);background:var(--color-reels-shell-bg);position:relative;display:flex;flex-direction:column;min-height:0}.reels-shell{width:100%;height:100%;min-height:0;flex:1}.reels-feed{width:100%;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:var(--color-reels-feed-bg)}.reels-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);text-align:center;color:var(--color-text);background:var(--color-reels-feed-bg)}.reels-empty-sub{font-size:var(--font-size-md);max-width:280px;color:var(--color-text-muted)}.reels-loader{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:reels-spin .8s linear infinite}@keyframes reels-spin{to{transform:rotate(360deg)}}.reels-loading-more{text-align:center;padding:var(--space-md);color:var(--color-text-muted);font-size:var(--font-size-md);scroll-snap-align:none;background:var(--color-reels-feed-bg)}@media (min-width: 768px){.reels-page{flex:1;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm);box-sizing:border-box;background:var(--color-reels-desktop-canvas);overflow:hidden;container-type:size}.reels-shell{--reels-item-height: 100%;--reels-desktop-max-width: 360px;flex:0 0 auto;width:min(var(--reels-desktop-max-width),100cqw,56.25cqh);height:min(calc(var(--reels-desktop-max-width) * 16 / 9),100cqh);aspect-ratio:9 / 16;border-radius:var(--radius);overflow:hidden;background:var(--color-reels-stage-bg);box-shadow:0 0 0 1px var(--color-reels-phone-border),var(--shadow-reels-phone)}.reels-feed,.reels-empty{height:100%;min-height:0;border-radius:inherit}.reels-empty{color:var(--color-text-on-media);background:var(--color-reels-stage-bg)}.reels-empty-sub{color:var(--color-reels-empty-sub)}.reels-loading-more{color:var(--color-reels-loading-text);background:var(--color-reels-stage-bg)}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + var(--touch-min) + var(--space-sm)) var(--space-md) var(--space-md)}.auth-page-register:not(.auth-page--shell){align-items:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + var(--touch-min) + var(--space-md));padding-bottom:var(--space-xl)}.auth-form--register{min-width:0}.auth-form--register .form-section{margin-bottom:var(--space-sm);min-width:0}.auth-form--register .form-group{margin-bottom:var(--space-md)}.auth-form--register .form-label,.auth-form--register .form-group>label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:.35rem;color:var(--color-text-muted)}.auth-form--register .terms-group{margin-bottom:var(--space-sm)}.auth-form--register .terms-checkbox{font-size:var(--font-size-sm);line-height:1.45}.form-section-label--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-form--register .role-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}@media (min-width: 480px){.auth-form--register .role-segment{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 640px){.auth-form--register .role-segment{grid-template-columns:repeat(5,minmax(0,1fr))}}.auth-form--register .role-segment-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}.auth-form--register .role-segment-option:hover{border-color:color-mix(in srgb,var(--color-text-muted) 40%,var(--color-border));background:var(--color-surface-hover)}.auth-form--register .role-segment-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-subtle-bg);color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 35%,transparent)}.auth-form--register .role-segment-option input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-form--register .role-segment-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.25;text-align:center}.auth-form--register .role-segment-option.is-selected .role-segment-label{font-weight:var(--font-weight-semibold)}.auth-form--register .role-segment-option:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.auth-form--register .form-group.has-error .role-segment-option{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.auth-form--register .role-segment-hint,.auth-form--register .birth-date-hint{margin-top:var(--space-sm);margin-bottom:0}.auth-page--shell{min-height:0;width:100%;padding:0;display:flex;flex-direction:column;align-items:center}.auth-page--shell .auth-layout{width:100%}@media (max-width: 767px){.auth-page--shell{align-items:stretch;padding:0 var(--mobile-gutter);box-sizing:border-box}.auth-page--shell .auth-layout{gap:var(--space-md);max-width:100%}.auth-page--shell .auth-card{width:100%;max-width:none;background:transparent;border:none;box-shadow:none;padding-left:0;padding-right:0}.auth-page--shell .auth-header{margin-bottom:var(--space-md)}.auth-page--shell .auth-sub{margin-bottom:0}.auth-page--shell .auth-switch{margin-top:var(--space-md);padding-top:var(--space-md)}}.auth-layout{width:100%;max-width:920px;display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.auth-layout--compact{max-width:400px}.auth-hero{width:100%;max-width:440px;text-align:center}.auth-hero .brand-logo{display:block;margin:0 auto var(--space-md)}.auth-hero-badge{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:var(--color-primary-subtle-bg);border:1px solid var(--color-primary-subtle-border);border-radius:var(--radius-full);padding:.3rem .75rem;margin-bottom:var(--space-md)}.auth-hero-headline{font-size:clamp(1.5rem,4.5vw,2rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.03em;color:var(--text);margin-bottom:var(--space-xs)}.auth-hero-tagline{font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-muted);margin-bottom:var(--space-md)}.auth-hero-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}@media (min-width: 480px){.auth-hero-features{grid-template-columns:repeat(4,minmax(0,1fr))}}.auth-hero-feature{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:var(--space-sm) .25rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border)}.auth-hero-feature-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-surface-hover);color:var(--text)}.auth-hero-feature--primary .auth-hero-feature-icon{color:var(--primary);background:var(--color-primary-subtle-bg)}.auth-hero-feature--accent .auth-hero-feature-icon{color:var(--color-accent-secondary);background:var(--color-promo-gradient-end)}.auth-hero-feature--success .auth-hero-feature-icon{color:var(--color-success);background:var(--color-success-subtle-bg)}.auth-hero-feature-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.auth-hero-early{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius);text-align:center;background:linear-gradient(135deg,var(--color-promo-gradient-start),var(--color-promo-gradient-end));border:1px solid var(--color-promo-border)}.auth-hero-early-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--color-surface);border:1px solid var(--color-promo-border)}.auth-hero-early-chip:before{content:"✦";font-size:.75rem}.auth-hero-early-text{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--text);margin:0}.auth-early-note{display:block;margin-top:var(--space-md);padding:0;border-radius:0;background:transparent;border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--text-muted);text-align:center}.auth-early-note:before{content:none}.auth-register-cta{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius);text-align:center;background:linear-gradient(135deg,var(--color-promo-gradient-start),var(--color-promo-gradient-end));border:1px solid var(--color-promo-border)}.auth-register-cta-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:.25rem}.auth-register-cta-text{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--text);margin-bottom:var(--space-md)}.auth-register-cta-btn{text-decoration:none}.auth-card{width:100%;max-width:400px}.auth-card-body{width:100%}.auth-header{margin-bottom:var(--space-lg);text-align:center}.auth-brand{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--color-primary-subtle-bg);border:1px solid var(--color-primary-subtle-border);border-radius:999px;padding:.25rem .65rem;margin-bottom:var(--space-sm)}.auth-card h1{font-size:1.5rem;margin-bottom:.35rem;font-weight:var(--font-weight-semibold);letter-spacing:-.03em}.auth-sub{color:var(--text-muted);margin-bottom:0;font-size:.925rem;line-height:1.45}.auth-card .auth-sub{margin-bottom:var(--space-lg)}.auth-notice{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-info-subtle-bg);color:var(--text);font-size:.9375rem;line-height:1.45}.auth-form{display:flex;flex-direction:column}.auth-btn{width:100%;margin-top:var(--space-xs);min-height:var(--touch-min);font-weight:var(--font-weight-medium)}.auth-card .btn-primary{background:var(--color-create-btn-bg, var(--color-primary));color:var(--color-create-btn-fg, var(--color-text-on-primary))}.auth-card .btn-primary:hover{filter:brightness(1.06)}.auth-switch{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border);font-size:.9rem;color:var(--text-muted)}.auth-switch a{font-weight:500}.auth-forgot{margin:calc(-1 * var(--space-xs)) 0 var(--space-md);text-align:right;font-size:.875rem}.auth-forgot a{color:var(--text-muted);font-weight:500}.auth-forgot a:hover{color:var(--primary)}.form-section{border:none;margin:0 0 var(--space-md);padding:0;min-width:0}.form-section:last-of-type{margin-bottom:var(--space-sm)}.form-section:disabled{opacity:.72}.form-section-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm);padding:0}.form-group:last-child{margin-bottom:0}.form-group.has-error input{border-color:var(--danger)}.form-group.has-error input:focus{outline-color:var(--danger)}.field-error{color:var(--danger);font-size:.8rem;line-height:1.35;margin-top:.35rem}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:.35rem;line-height:1.35}.terms-group{margin-bottom:var(--space-md)}.terms-group.has-error .terms-checkbox{color:var(--text)}.terms-checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:.875rem;color:var(--text-muted);line-height:1.45;cursor:pointer}.terms-checkbox input{margin-top:.2rem;flex-shrink:0;width:1rem;height:1rem;min-height:unset;accent-color:var(--primary)}.terms-group.has-error .terms-checkbox input{outline:1px solid var(--danger);outline-offset:1px}.terms-checkbox a{color:var(--primary);font-weight:500}.form-banner-error{background:var(--color-danger-subtle-bg);border:1px solid var(--color-danger-subtle-border);color:var(--color-danger-text);font-size:.875rem;line-height:1.4;padding:.65rem .85rem;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.form-banner-error-action a{color:var(--color-danger-text-soft);font-weight:600}@media (min-width: 640px){.auth-page-register{align-items:center;padding-top:calc(env(safe-area-inset-top,0px) + var(--space-md))}.auth-page-login{padding-top:calc(env(safe-area-inset-top,0px) + var(--space-md));padding-bottom:var(--space-md);overflow:hidden}.auth-page--shell.auth-page-login{padding-top:0;padding-bottom:0;overflow:visible;min-height:0;align-items:center;justify-content:flex-start}.auth-page--shell.auth-page-login .auth-layout:not(.auth-layout--compact){max-height:none}.auth-layout{flex-direction:row;align-items:center;justify-content:center;gap:clamp(var(--space-xl),5vw,3.5rem)}.auth-layout:not(.auth-layout--compact){display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:stretch;gap:clamp(var(--space-lg),4vw,2.5rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--space-md) * 2)}.auth-layout--compact{flex-direction:column;display:flex}.auth-hero{flex:1;max-width:420px;text-align:left}.auth-layout:not(.auth-layout--compact) .auth-hero{display:flex;flex-direction:column;justify-content:flex-start;max-width:none;min-height:0;height:100%;gap:var(--space-lg)}.auth-layout:not(.auth-layout--compact) .auth-hero-intro{flex-shrink:0}.auth-layout:not(.auth-layout--compact) .auth-hero-visual{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.auth-hero .brand-logo{margin-left:0;margin-right:auto}.auth-layout:not(.auth-layout--compact) .auth-hero .brand-logo{margin-bottom:var(--space-sm)}.auth-layout:not(.auth-layout--compact) .auth-hero-badge{margin-bottom:var(--space-sm)}.auth-layout:not(.auth-layout--compact) .auth-hero-headline{font-size:clamp(1.35rem,2.2vw,1.65rem)}.auth-layout:not(.auth-layout--compact) .auth-hero-tagline{margin-bottom:var(--space-sm);font-size:var(--font-size-sm)}.auth-layout:not(.auth-layout--compact) .auth-phone-wrap{width:clamp(140px,20vh,176px);margin-bottom:var(--space-sm)}.auth-layout:not(.auth-layout--compact) .auth-hero-features{margin-bottom:0;gap:var(--space-xs)}.auth-layout:not(.auth-layout--compact) .auth-hero-early{flex-shrink:0;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.auth-layout:not(.auth-layout--compact) .auth-hero-early-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left}.auth-card{flex:0 0 400px}.auth-layout:not(.auth-layout--compact) .auth-hero-feature{padding:var(--space-xs) .2rem}.auth-layout:not(.auth-layout--compact) .auth-hero-feature-icon{width:2.1rem;height:2.1rem}.auth-layout:not(.auth-layout--compact) .auth-card{display:flex;flex-direction:column;justify-content:flex-start;align-self:stretch;min-height:0;height:100%;gap:var(--space-lg)}.auth-layout:not(.auth-layout--compact) .auth-card-body{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.auth-layout:not(.auth-layout--compact) .auth-header{margin-bottom:var(--space-md)}.auth-layout:not(.auth-layout--compact) .auth-register-cta{margin-top:0;flex-shrink:0;padding:var(--space-sm) var(--space-md)}.auth-layout:not(.auth-layout--compact) .auth-register-cta-text{margin-bottom:var(--space-sm)}.auth-card h1{font-size:1.5rem}}@media (min-width: 640px) and (max-height: 720px){.auth-layout:not(.auth-layout--compact) .auth-hero-headline{font-size:1.25rem}.auth-layout:not(.auth-layout--compact) .auth-phone-wrap{width:clamp(120px,18vh,150px)}.auth-layout:not(.auth-layout--compact) .auth-hero-feature-label{font-size:.7rem}.auth-layout:not(.auth-layout--compact) .auth-header{margin-bottom:var(--space-sm)}.auth-layout:not(.auth-layout--compact) .form-group{margin-bottom:var(--space-sm)}.auth-layout:not(.auth-layout--compact) .auth-hero-early{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs)}.auth-layout:not(.auth-layout--compact) .auth-hero-early-text{font-size:.75rem}.auth-layout:not(.auth-layout--compact) .auth-register-cta{padding:var(--space-xs) var(--space-sm)}.auth-layout:not(.auth-layout--compact) .auth-register-cta-text{font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}}.register-handle-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);overflow:hidden;margin-bottom:.35rem}.register-handle-field .profile-username-prefix{padding:.65rem 0 .65rem .75rem;color:var(--text-muted);font-weight:500}.register-handle-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font:inherit;padding:.65rem .75rem .65rem 0;min-height:var(--touch-min)}.register-handle-field input:focus{outline:none}.form-group.has-error .register-handle-field{border-color:var(--danger)}.register-handle-field:focus-within{outline:2px solid var(--primary);outline-offset:0}.form-group.has-error .register-handle-field:focus-within{outline-color:var(--danger)}.account-picker-list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.account-picker-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;text-align:left}.account-picker-item:hover{border-color:var(--accent)}.account-picker-text{display:flex;flex-direction:column;min-width:0}.account-picker-name{font-weight:600}.account-picker-handle{font-size:.875rem;color:var(--text-muted)}.account-picker-deleted{color:var(--accent);font-weight:500}.form-label{display:block;font-weight:500;margin-bottom:.5rem}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.role-option{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.role-option:hover{border-color:color-mix(in srgb,var(--text-muted) 35%,var(--border))}.role-option--selected{box-shadow:inset 3px 0 0 currentColor}.role-option--teen{color:var(--role-teen-fg);background:color-mix(in srgb,var(--role-teen-bg) 72%,var(--bg));border-color:var(--role-teen-border)}.role-option--teen.role-option--selected{border-color:var(--role-teen-fg);background:color-mix(in srgb,var(--role-teen-bg) 88%,var(--bg))}.role-option--parent{color:var(--role-parent-fg);background:color-mix(in srgb,var(--role-parent-bg) 72%,var(--bg));border-color:var(--role-parent-border)}.role-option--parent.role-option--selected{border-color:var(--role-parent-fg);background:color-mix(in srgb,var(--role-parent-bg) 88%,var(--bg))}.role-option--teacher{color:var(--role-teacher-fg);background:color-mix(in srgb,var(--role-teacher-bg) 72%,var(--bg));border-color:var(--role-teacher-border)}.role-option--teacher.role-option--selected{border-color:var(--role-teacher-fg);background:color-mix(in srgb,var(--role-teacher-bg) 88%,var(--bg))}.role-option--content_creator{color:var(--role-content-creator-fg);background:color-mix(in srgb,var(--role-content-creator-bg) 72%,var(--bg));border-color:var(--role-content-creator-border)}.role-option--content_creator.role-option--selected{border-color:var(--role-content-creator-fg);background:color-mix(in srgb,var(--role-content-creator-bg) 88%,var(--bg))}.role-option-tag{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;max-width:max-content;padding:.15rem .5rem;border-radius:999px;font-size:.8125rem;font-weight:700;line-height:1.25;border:1px solid transparent;white-space:nowrap}.role-option-tag--teen{color:var(--role-teen-fg);background:var(--role-teen-bg);border-color:var(--role-teen-border)}.role-option-tag--parent{color:var(--role-parent-fg);background:var(--role-parent-bg);border-color:var(--role-parent-border)}.role-option-tag--teacher{color:var(--role-teacher-fg);background:var(--role-teacher-bg);border-color:var(--role-teacher-border)}.role-option-tag--content_creator{color:var(--role-content-creator-fg);background:var(--role-content-creator-bg);border-color:var(--role-content-creator-border)}.role-option input{margin-top:.2rem;flex-shrink:0;accent-color:currentColor}.role-option-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.role-option-label{line-height:1.2}.role-option-desc{font-size:.8125rem;color:var(--text-muted)}.form-group.has-error .role-option{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}@media (max-width: 480px){.role-options{grid-template-columns:1fr}}.birth-date-input{width:100%}.birth-date-input--segmented{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1fr);align-items:stretch;min-height:var(--touch-min);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.birth-date-input--segmented:focus-within{border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border));box-shadow:0 0 0 3px var(--color-primary-subtle-bg)}.birth-date-input--segmented.has-error{border-color:var(--color-danger)}.birth-date-input--segmented.has-error:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 18%,transparent)}.birth-date-segment{position:relative;min-width:0;display:flex;align-items:center}.birth-date-segment--day:before,.birth-date-segment--year:before{content:"/";flex-shrink:0;padding-left:.45rem;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none}.birth-date-segment--month:after,.birth-date-segment--day:after{content:"";position:absolute;top:.55rem;right:0;bottom:.55rem;width:1px;background:var(--color-border-subtle);pointer-events:none}.birth-date-select{width:100%;min-height:var(--touch-min);padding:.65rem 1.75rem .65rem .75rem;border:none;border-radius:0;background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239aa3b5' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center}.birth-date-segment--day .birth-date-select,.birth-date-segment--year .birth-date-select{padding-left:.35rem}.birth-date-select:focus{outline:none}.birth-date-select:disabled{opacity:.5;cursor:not-allowed}.birth-date-select option{background:var(--color-surface);color:var(--color-text)}.birth-date-segment--year .birth-date-select{padding-right:1.85rem}.follow-list-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-heavy);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:0}.follow-list-modal{width:100%;max-height:85dvh;border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.follow-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.follow-list-close{font-size:1.5rem;color:var(--text-muted);line-height:1;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.follow-list{list-style:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.follow-list-user{display:flex;gap:var(--space-sm);align-items:flex-start;padding:var(--space-sm) 0;min-height:var(--touch-min);border-top:1px solid var(--border);color:var(--text);text-decoration:none}.follow-list-user .avatar,.follow-list-user .avatar-placeholder{flex-shrink:0;margin-top:.1rem}.follow-list-user:hover,.follow-list-user .user-name-with-role,.follow-list-user .user-name-primary,.follow-list-user .user-display-name,.follow-list-user .user-role-badge{text-decoration:none}.follow-list-user div{min-width:0}.follow-list-user strong{display:block;min-width:0;font-weight:600;overflow:visible}.follow-list-user .user-name-with-role{flex-wrap:nowrap;max-width:100%}.follow-list-user .user-name-primary{flex-wrap:nowrap;flex-shrink:1;min-width:0}.follow-list-handle{display:block;font-size:.8rem;color:var(--text-muted);font-weight:500}.follow-list-bio{display:block;font-size:.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 640px){.follow-list-overlay{align-items:center;padding:var(--space-md)}.follow-list-modal{width:min(400px,100%);max-height:70vh;border-radius:var(--radius);padding-bottom:var(--space-md)}}.profile-page{position:relative}.profile-header{position:relative;margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.profile-settings-btn{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--text);text-decoration:none;border-radius:var(--radius-full)}.profile-settings-btn:hover{background:var(--surface-hover);text-decoration:none}.profile-header-main{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.profile-header-main--editing{align-items:flex-start;text-align:left}.profile-header-main--editing .profile-avatar-wrap{align-items:flex-start}.profile-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);flex-shrink:0}.profile-avatar-wrap .avatar-lg,.profile-avatar-wrap .avatar-lg.avatar-placeholder{width:5.5rem;height:5.5rem;min-width:5.5rem;min-height:5.5rem}.profile-photo-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--primary);cursor:pointer}.profile-info{width:100%;min-width:0}.profile-info h1,.profile-name{font-size:.95rem;margin-bottom:.1rem;word-break:break-word;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.profile-name .user-name-with-role{justify-content:center;align-items:center}.profile-name .user-name-primary{flex-shrink:0}.profile-handle{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.profile-stats{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md);margin-top:.15rem}.profile-bio{color:var(--text);font-size:var(--font-size-sm);margin-bottom:var(--space-md);word-break:break-word;line-height:var(--line-height-normal)}.profile-private-notice{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.stat-btn,.stat-item{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:none;border:none;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:0;min-height:auto}.stat-item{cursor:default}.stat-btn strong,.stat-item strong{color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.stat-btn span,.stat-item span{font-size:var(--font-size-sm)}.stat-btn:hover strong{text-decoration:underline}.profile-actions{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}.profile-btn,.profile-actions .follow-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem 1.1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:transparent;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;line-height:1.2;transition:background var(--transition-normal),border-color var(--transition-normal)}.profile-btn:hover,.profile-actions .follow-btn:hover{background:var(--surface-hover);text-decoration:none}.profile-actions .follow-btn.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:transparent}.profile-actions .follow-btn.btn-primary:hover{background:var(--color-primary-hover)}.profile-actions .follow-btn.following,.profile-actions .follow-btn.btn-secondary{background:var(--surface-hover)}.profile-name .user-role-badge{font-size:.68em;padding:.15em .55em;vertical-align:middle}.profile-role-section{margin-bottom:var(--space-xl);padding:var(--space-md)}.profile-role-section--embedded{margin:var(--space-lg) 0 var(--space-md);padding:0;border-top:1px solid var(--border);padding-top:var(--space-lg)}.profile-role-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-xs)}.profile-role-lead{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-md)}.profile-role-section .role-options{margin-bottom:var(--space-md)}.profile-role-section .profile-edit-error{margin-bottom:var(--space-sm)}.bio-edit textarea{width:100%;padding:.5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);margin-bottom:var(--space-sm);min-height:5rem}.bio-edit .btn{margin-right:var(--space-sm);margin-bottom:var(--space-sm)}.profile-edit{width:100%;margin-bottom:var(--space-md);text-align:left}.profile-edit-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem}.profile-name-input{width:100%;min-height:var(--touch-min);padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);margin-bottom:.25rem}.profile-name-input:focus{outline:2px solid var(--primary);outline-offset:0}.profile-edit-hint{font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-md);line-height:1.35}.profile-username-field{display:flex;align-items:center;margin-bottom:.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);overflow:hidden}.profile-username-prefix{padding:.65rem 0 .65rem .75rem;color:var(--text-muted);font-weight:500}.profile-username-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font:inherit;padding:.65rem .75rem .65rem 0;min-height:var(--touch-min)}.profile-username-field input:focus{outline:none}.profile-username-field:focus-within{outline:2px solid var(--primary);outline-offset:0}.profile-edit textarea{width:100%;padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);margin-bottom:var(--space-sm);min-height:5rem;resize:vertical}.profile-edit textarea:focus{outline:2px solid var(--primary);outline-offset:0}.profile-edit-error{color:var(--danger);font-size:.85rem;margin-bottom:var(--space-sm)}.profile-edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.profile-posts-title{font-size:1.1rem;margin-bottom:var(--space-md)}.profile-posts-tabs{display:flex;gap:0;margin-bottom:var(--space-md);border-bottom:1px solid var(--border)}.profile-posts-tab{flex:1;padding:12px;font-weight:600;font-size:.9375rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.profile-posts-tab.active{color:var(--text);border-bottom-color:var(--text)}@media (min-width: 768px){.profile-header-main{flex-direction:row;align-items:center;gap:2.5rem;text-align:left}.profile-header-main--editing{align-items:flex-start}.profile-avatar-wrap .avatar-lg,.profile-avatar-wrap .avatar-lg.avatar-placeholder{width:9rem;height:9rem;min-width:9rem;min-height:9rem}.profile-info h1,.profile-name{font-size:1.25rem}.profile-name .user-name-with-role{justify-content:flex-start}.profile-stats{justify-content:flex-start;gap:2rem;margin-bottom:var(--space-sm)}.stat-btn,.stat-item{flex-direction:row;gap:.35rem;align-items:baseline}.profile-actions{justify-content:flex-start}.profile-btn,.profile-actions .follow-btn{min-width:8.5rem}}.settings-shell{width:100%;max-width:58rem;margin:0 auto;padding:0 var(--mobile-gutter) var(--space-xl)}.settings-layout{display:flex;align-items:stretch;min-height:min(70vh,40rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.settings-sidebar{flex:0 0 15.5rem;border-right:1px solid var(--border);padding:1.25rem 0}.settings-sidebar-title{padding:0 1.25rem 1rem;font-size:1rem;font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.settings-sidebar-nav{display:flex;flex-direction:column}.settings-sidebar-link{display:block;padding:.8rem 1.25rem;color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border-left:2px solid transparent}.settings-sidebar-link:hover{background:var(--surface-hover);text-decoration:none}.settings-sidebar-link.active{background:var(--surface-hover);border-left-color:var(--primary);font-weight:var(--font-weight-semibold)}.settings-main{flex:1;min-width:0;display:flex;flex-direction:column}.settings-topbar{display:flex;align-items:center;gap:.5rem;min-height:3.25rem;padding:0 1rem;border-bottom:1px solid var(--border)}.settings-topbar--home.hide-desktop{display:none}.settings-topbar-title{flex:1;margin:0;font-size:1rem;font-weight:var(--font-weight-semibold);text-align:center}.settings-back{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text)}.settings-back:hover{background:var(--surface-hover)}.settings-panel{flex:1;padding:1rem}.settings-home{display:flex;flex-direction:column;gap:.75rem}.settings-account-row{display:flex;align-items:center;gap:.85rem;padding:.85rem .25rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}.settings-account-row:hover{text-decoration:none}.settings-account-row .avatar,.settings-account-row .avatar-placeholder{width:3.25rem;height:3.25rem;min-width:3.25rem;min-height:3.25rem}.settings-account-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.settings-account-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.settings-account-handle{color:var(--text-muted);font-size:var(--font-size-sm)}.settings-home-lead{margin:.25rem 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.settings-menu{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.settings-menu-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;padding:0 1rem;color:inherit;text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.settings-menu-row+.settings-menu-row{border-top:1px solid var(--border)}.settings-menu-row:active{background:var(--surface-hover)}.settings-chevron{flex-shrink:0;color:var(--text-muted)}.settings-welcome{padding:.5rem .25rem}.settings-welcome-text{margin:0;color:var(--text-muted);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.settings-section{max-width:30rem}.settings-section-head h3{margin:0 0 .35rem;font-size:1rem;font-weight:var(--font-weight-semibold)}.settings-section-head p{margin:0 0 1rem;color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.settings-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg)}.settings-list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3.25rem;padding:.85rem 1rem;border:none;background:transparent;color:inherit;text-align:left}.settings-list-row+.settings-list-row{border-top:1px solid var(--border)}.settings-list-row--danger .settings-list-label{color:var(--danger);font-weight:var(--font-weight-semibold)}.settings-list-row--danger:hover{background:color-mix(in srgb,var(--danger) 6%,transparent)}.settings-list-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.settings-list-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.settings-list-hint{font-size:var(--font-size-sm);color:var(--text-muted);line-height:var(--line-height-normal)}.settings-section-footnote{margin:.75rem 0 0;color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.settings-inline-error{margin:.75rem 0 0;color:var(--danger);font-size:var(--font-size-sm)}.settings-switch{position:relative;flex-shrink:0;width:2.75rem;height:1.6rem;padding:0;border:none;border-radius:var(--radius-full);background:color-mix(in srgb,var(--text-muted) 35%,var(--border));cursor:pointer;transition:background var(--transition-normal) ease}.settings-switch.is-on{background:var(--primary)}.settings-switch:disabled{opacity:.55;cursor:not-allowed}.settings-switch-thumb{position:absolute;top:.15rem;left:.15rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--transition-normal) ease}.settings-switch.is-on .settings-switch-thumb{transform:translate(1.15rem)}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-overlay-heavy)}.settings-modal{width:min(100%,24rem);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.settings-modal h2{margin:0 0 var(--space-sm);font-size:1.05rem;font-weight:var(--font-weight-semibold)}.settings-modal-text{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-md);line-height:var(--line-height-normal)}.settings-modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.settings-modal .btn-danger{background:var(--danger);color:var(--color-text-on-primary);border:none}@media (max-width: 767px){.settings-shell{padding-left:0;padding-right:0;max-width:none}.settings-layout{min-height:auto;border:none;border-radius:0;background:transparent}.settings-main{width:100%}.settings-topbar{position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid var(--border)}.settings-topbar--home .settings-topbar-title{text-align:left;padding-left:.25rem}.settings-panel{padding:0 1rem 1rem}.settings-section{max-width:none}.settings-section-head{display:none}}@media (min-width: 768px){.settings-topbar{display:none}.settings-panel{padding:1.5rem 1.75rem}.settings-home .settings-account-row{display:none}}.search-user-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-md);margin-bottom:var(--space-sm)}.search-user-link{display:flex;align-items:flex-start;gap:var(--space-sm);flex:1;min-width:0;color:var(--text);text-decoration:none}.search-user-link:hover,.search-user-link .user-name-with-role,.search-user-link .user-name-primary,.search-user-link .user-display-name,.search-user-link .user-role-badge,.search-user-handle,.search-user-bio{text-decoration:none}.search-user-info{min-width:0;flex:1}.search-user-info .user-name-with-role{font-weight:600;font-size:1rem}.search-user-handle{color:var(--text-muted);font-size:.85rem;margin-top:.1rem}.search-user-bio{color:var(--text-muted);font-size:.9rem;margin-top:.25rem;word-break:break-word}@media (min-width: 640px){.search-user-row{flex-direction:row;align-items:flex-start;justify-content:space-between}}.create-group-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:#00000080}.create-group-modal{width:100%;max-width:420px;max-height:min(90dvh,640px);display:flex;flex-direction:column;padding:0;overflow:hidden}.create-group-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--border)}.create-group-header h3{margin:0;font-size:1.1rem}.create-group-close{border:none;background:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;min-width:var(--touch-min);min-height:var(--touch-min)}.create-group-form{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);overflow:hidden;flex:1}.create-group-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.create-group-input{width:100%;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text)}.create-group-selected{display:flex;flex-wrap:wrap;gap:.35rem}.create-group-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;cursor:pointer}.create-group-user-list{flex:1;min-height:120px;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.create-group-user{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:.65rem var(--space-sm);border:none;background:none;color:var(--text);text-align:left;border-bottom:1px solid var(--border);cursor:pointer}.create-group-user:last-child{border-bottom:none}.create-group-user.selected{background:color-mix(in srgb,var(--primary) 12%,transparent)}.create-group-user-meta{flex:1;min-width:0}.create-group-user-meta strong{display:block}.create-group-user-meta span{font-size:.85rem;color:var(--text-muted)}.create-group-check{color:var(--primary);font-weight:700}.create-group-error{margin:0;color:var(--danger);font-size:.9rem}.create-group-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-xs)}.create-group-user-list .empty-state{padding:var(--space-md);margin:0}.group-members-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:var(--color-overlay-heavy, rgba(0, 0, 0, .52))}.group-members-modal{width:100%;max-width:480px;height:min(88dvh,640px);max-height:min(88dvh,640px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}.group-members-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--border);flex-shrink:0}.group-members-header-text{min-width:0;flex:1}.group-members-header h3{margin:0 0 .2rem;font-size:1.1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-members-subtitle{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.group-members-admin-pill{font-size:.7rem;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);padding:.1rem .45rem;border-radius:999px}.group-members-close{border:none;background:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;min-width:var(--touch-min);min-height:var(--touch-min);flex-shrink:0}.group-members-tabs{display:flex;flex-shrink:0;gap:0;padding:0 var(--space-md);border-bottom:1px solid var(--border);background:var(--surface)}.group-members-tab{flex:1;padding:.75rem .5rem;border:none;background:none;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.group-members-tab.active{color:var(--text);border-bottom-color:var(--primary)}.group-members-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.group-members-panel{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.group-members-section-title{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.group-members-list{list-style:none;margin:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.group-members-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:.5rem var(--space-sm);border-bottom:1px solid var(--border)}.group-members-item:last-child{border-bottom:none}.group-members-user{display:flex;align-items:center;gap:var(--space-sm);min-width:0;color:var(--text);text-decoration:none}.group-members-user:hover{text-decoration:none}.group-members-user-meta{min-width:0;flex:1}.group-members-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0}.group-members-handle{display:block;font-size:.78rem;color:var(--text-muted);margin-top:.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-members-user .user-name-with-role,.group-members-search-user .user-name-with-role{min-width:0;max-width:100%;font-size:.92rem}.group-members-user .user-name-primary,.group-members-search-user .user-name-primary{flex-wrap:nowrap;min-width:0}.group-members-user .user-display-name,.group-members-search-user .user-display-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-members-modal .avatar,.group-members-modal .avatar-placeholder{flex-shrink:0}.group-members-modal .avatar-sm.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-on-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-accent-secondary));font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);line-height:1}.group-members-badge{font-size:.62rem;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);padding:.08rem .35rem;border-radius:999px;flex-shrink:0;white-space:nowrap}.group-members-remove{flex-shrink:0;white-space:nowrap;padding:.35rem .65rem;font-size:.8rem}.group-members-action-spacer{width:1px;flex-shrink:0}.group-members-add-panel{gap:var(--space-md);overflow:hidden}.group-members-add-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);flex-shrink:0}.group-members-add-lead{margin:0;font-size:.95rem;font-weight:600;color:var(--text)}.group-members-slots{font-size:.75rem;color:var(--text-muted);white-space:nowrap;text-align:right}.group-members-slots--full{color:var(--danger)}.group-members-input{width:100%;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);flex-shrink:0}.group-members-selected{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.group-members-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;cursor:pointer}.group-members-search-list{flex:1;min-height:120px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.group-members-hint{margin:0;padding:var(--space-md);font-size:.9rem;color:var(--text-muted);text-align:center}.group-members-search-user{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:.55rem var(--space-sm);border:none;background:none;color:var(--text);text-align:left;border-bottom:1px solid var(--border);cursor:pointer}.group-members-search-user:last-child{border-bottom:none}.group-members-search-user.selected{background:color-mix(in srgb,var(--primary) 12%,transparent)}.group-members-check{color:var(--primary);font-weight:700;margin-left:auto;flex-shrink:0}.group-members-add-btn{width:100%;flex-shrink:0}.group-members-error{margin:0;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--color-danger-subtle-bg, rgba(248, 113, 113, .12));color:var(--danger);font-size:.9rem;flex-shrink:0}@media (min-width: 640px){.group-members-overlay{align-items:center;padding:var(--space-md)}.group-members-modal{border-radius:var(--radius);height:min(80dvh,600px);max-height:min(80dvh,600px)}}@media (max-width: 420px){.group-members-item{grid-template-columns:1fr;align-items:stretch}.group-members-remove{width:100%;justify-self:stretch}.group-members-action-spacer{display:none}}.messages-layout{display:grid;grid-template-columns:1fr;gap:0;min-height:var(--app-viewport-height);height:var(--app-viewport-height)}.messages-layout .conversations-list{display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%;padding:0;overflow:hidden;border-radius:0}.conversations-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.messages-layout .chat-panel{display:none;flex-direction:column;min-height:0;height:100%;max-height:100%;padding:0;overflow:hidden;border-radius:0}.messages-layout.show-chat .conversations-list{display:none}.messages-layout.show-chat .chat-panel{display:flex}.conversations-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-sm);flex-shrink:0}.conversations-new-group{flex-shrink:0}.chat-header-group{cursor:pointer;text-decoration:none;border:none;background:none;text-align:left;flex:1;min-width:0}.chat-header-members-btn{margin-left:auto;flex-shrink:0;min-width:var(--touch-min);min-height:var(--touch-min);border:none;background:none;color:var(--text-muted);font-size:1.35rem;line-height:1;border-radius:var(--radius-sm)}.chat-header-members-btn:hover{color:var(--text);background:var(--surface-hover)}.chat-sender-name{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:.15rem;padding-left:.15rem}.conversations-list h2{font-size:1.25rem;margin:0}.convo-search{margin:0 var(--space-md) var(--space-sm);padding:.6rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);width:calc(100% - 2rem);min-height:var(--touch-min);flex-shrink:0}.convo-search:focus{outline:2px solid var(--primary);outline-offset:0}.conversations-list .empty-state{padding:var(--space-xl) var(--space-md)}.convo-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--touch-min);padding:.85rem var(--space-md);border-radius:0;text-align:left;color:var(--text);border:none;background:none;border-bottom:1px solid var(--border)}.convo-item:hover,.convo-item.active{background:var(--surface-hover)}.convo-item.unread .convo-preview{color:var(--text);font-weight:600}.convo-meta{flex:1;min-width:0}.convo-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:.15rem}.convo-time{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.convo-preview{display:block;font-size:.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot{background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:999px;min-width:20px;text-align:center;flex-shrink:0}.chat-empty,.chat-thread-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-xl) var(--space-md);color:var(--text-muted)}.chat-empty-icon{font-size:2.5rem;margin-bottom:var(--space-md)}.chat-empty h3{color:var(--text);margin-bottom:var(--space-sm)}.chat-header{display:flex;align-items:center;gap:var(--space-sm);padding:.85rem var(--space-md);border-bottom:1px solid var(--border);min-height:var(--nav-height);flex-shrink:0}.chat-back{font-size:1.35rem;color:var(--text);padding:.35rem .5rem;min-width:var(--touch-min);min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center}.chat-header-user{display:flex;align-items:center;gap:var(--space-sm);color:var(--text);text-decoration:none;min-width:0}.chat-header-user>div span{display:block;font-size:.8rem;color:var(--text-muted)}.conversations-list .avatar-placeholder,.chat-header-user>.avatar-placeholder,.chat-row>.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-on-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-accent-secondary))}.chat-row>.avatar-sm.avatar-placeholder{font-size:var(--font-size-sm)}.chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.35rem;padding:var(--space-md)}.chat-date-divider{display:flex;justify-content:center;margin:.75rem 0}.chat-date-divider span{font-size:.75rem;color:var(--text-muted);background:var(--surface);padding:.25rem .75rem;border-radius:999px;border:1px solid var(--border)}.chat-row{display:flex;align-items:flex-end;gap:var(--space-sm);max-width:90%}.chat-row.mine{align-self:flex-end;flex-direction:row-reverse}.chat-row.theirs{align-self:flex-start}.chat-message-wrap{display:flex;flex-direction:column;gap:.2rem;max-width:100%;min-width:0}.chat-row.mine .chat-message-wrap{align-items:flex-end}.chat-row.theirs .chat-message-wrap{align-items:flex-start}.chat-bubble{padding:.55rem .85rem;border-radius:18px;font-size:.95rem;max-width:100%}.chat-bubble time{display:block;font-size:.65rem;margin-top:.25rem;opacity:.75;text-align:right}.chat-bubble.mine{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble.theirs{background:var(--surface-hover);color:var(--text);border-bottom-left-radius:4px}.chat-bubble.pending{opacity:.7}.chat-input{display:flex;align-items:flex-end;gap:var(--space-sm);padding:.85rem var(--space-md);padding-bottom:calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-input textarea{flex:1;padding:.65rem .9rem;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:none;min-height:42px;max-height:120px;line-height:1.4;font-family:inherit}.chat-input textarea::placeholder{color:var(--text-muted);opacity:.55}.chat-input textarea:focus{outline:2px solid var(--primary);outline-offset:0}.chat-file-input{display:none}.chat-send-error{padding:var(--space-sm) var(--space-md) 0;color:var(--danger);font-size:.875rem}.chat-attach-btn{flex-shrink:0;min-width:var(--touch-min);min-height:var(--touch-min);padding:.5rem;font-size:1.1rem;line-height:1}.chat-composer-tools{flex-shrink:0}.chat-attach-btn--files{margin-left:.125rem}.chat-attachment-preview{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border);background:var(--bg)}.preview-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm)}.preview-file{font-size:.9rem;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-remove{margin-left:auto;font-size:1.25rem;color:var(--text-muted);padding:.25rem .5rem;line-height:1;min-width:var(--touch-min);min-height:var(--touch-min)}.preview-remove:hover{color:var(--danger)}.msg-attachment-image{display:block;margin-top:.35rem}.msg-attachment-image img{max-width:min(220px,100%);max-height:220px;border-radius:10px;object-fit:cover}.msg-attachment-file{display:flex;align-items:center;gap:var(--space-sm);margin-top:.35rem;padding:var(--space-sm) .75rem;border-radius:var(--radius-sm);background:var(--color-overlay-faint);color:inherit;text-decoration:none;font-size:.9rem}.chat-bubble.theirs .msg-attachment-file{background:var(--bg)}.msg-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chat-bubble p+.msg-attachment-image,.chat-bubble p+.msg-attachment-file{margin-top:var(--space-sm)}@media (min-width: 768px){.messages-layout{grid-template-columns:minmax(280px,320px) 1fr;min-height:0;height:100%;max-width:var(--desktop-page-max);margin:0 auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-surface-sm);overflow:hidden}.messages-layout .conversations-list{max-height:100%;height:100%;border-right:1px solid var(--color-border-subtle);background:var(--color-surface-subtle)}.messages-layout .chat-panel{display:flex;max-height:100%;height:100%;background:var(--color-surface)}.messages-layout.show-chat .conversations-list{display:flex}.chat-back{display:none}.chat-row{max-width:75%}.conversations-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.03em}.convo-item{border-bottom-color:var(--color-border-subtle);transition:background var(--transition-normal)}.convo-item.active{background:var(--color-primary-subtle-bg)}}@media (min-width: 1024px){.messages-layout{grid-template-columns:320px 1fr}}@media (max-width: 767px){.messages-layout{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;max-height:none;padding:0;max-width:none;margin:0}.messages-layout>.conversations-list,.messages-layout>.chat-panel{flex:1;min-height:0;max-height:none;height:auto;width:100%}.messages-layout .conversations-list.card,.messages-layout .chat-panel.card{border:none;border-radius:0;box-shadow:none;margin:0;padding:0}.conversations-scroll{padding-bottom:var(--mobile-bottom-nav-block);touch-action:pan-y}.messages-layout.show-chat .chat-panel{padding-bottom:var(--mobile-bottom-nav-block)}.messages-layout .chat-messages{min-height:0;overscroll-behavior-y:contain;touch-action:pan-y}}.legal-page{max-width:var(--content-max);margin:0 auto;padding:var(--space-lg) var(--space-md);padding-bottom:var(--space-xl)}.legal-page h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.03em;margin-bottom:var(--space-xs)}.legal-updated{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-xl)}.legal-page h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;margin:var(--space-xl) 0 var(--space-sm);color:var(--text)}.legal-page p,.legal-page li{color:var(--text-muted);line-height:1.7;margin-bottom:var(--space-sm);font-size:var(--font-size-base)}.legal-page ul{padding-left:1.1rem;margin-bottom:var(--space-md)}.legal-page a{color:var(--text);text-decoration:underline;text-underline-offset:2px}.legal-page a:hover{color:var(--primary)}.legal-back{display:inline-block;margin-bottom:var(--space-lg);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.legal-back:hover{color:var(--text)}.safety-center section+section{padding-top:var(--space-md)}.verify-email-card{text-align:center}.verify-email-icon{width:3rem;height:3rem;margin:0 auto var(--space-md);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:700}.verify-email-icon-success{background:var(--color-success-subtle-bg);color:var(--color-success);border:1px solid var(--color-success-subtle-border)}.verify-email-icon-error{background:var(--color-danger-subtle-bg);color:var(--color-danger);border:1px solid var(--color-danger-subtle-border)}.verify-email-card .auth-sub{margin-bottom:var(--space-lg)}.verify-email-dev-hint{font-size:.85rem!important;margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-md)!important}.verify-email-dev-hint code{font-size:.8rem}.account-notices{display:flex;flex-direction:column;flex-shrink:0;width:calc(100% - 2 * var(--space-md));max-width:560px;margin:0 auto var(--space-md);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.account-notice+.account-notice{border-top:1px solid var(--color-border-subtle)}.account-notice{color:var(--color-text)}.account-notice-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:var(--space-sm);row-gap:.2rem;padding:.7rem var(--space-md)}.account-notice-inner:not(:has(.account-notice-action)){grid-template-columns:auto 1fr}.account-notice-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);flex-shrink:0;align-self:center}.account-notice-copy{min-width:0;align-self:center}.account-notice-message{margin:0;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-text-muted)}.account-notice-title{font-weight:var(--font-weight-semibold);color:var(--color-text)}.account-notice-sep{margin:0 .35rem;color:var(--color-text-muted);opacity:.65}.account-notice-detail{color:var(--color-text-muted)}.account-notice-feedback,.account-notice-error{margin:.2rem 0 0;font-size:var(--font-size-xs);line-height:1.35}.account-notice-feedback{color:var(--color-success)}.account-notice-error{color:var(--color-danger)}.account-notice-action{flex-shrink:0;align-self:center}.account-notice-btn,.account-notice-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.3rem .65rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:inherit;line-height:1.2;white-space:nowrap;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),opacity var(--transition-fast)}.account-notice-btn{border:1px solid color-mix(in srgb,currentColor 24%,transparent);background:color-mix(in srgb,currentColor 8%,transparent);color:inherit;cursor:pointer}.account-notice-btn:hover:not(:disabled){background:color-mix(in srgb,currentColor 14%,transparent);border-color:color-mix(in srgb,currentColor 36%,transparent)}.account-notice-btn:disabled{opacity:.6;cursor:not-allowed}.account-notice-link{color:inherit;text-decoration:none;border:1px solid color-mix(in srgb,currentColor 24%,transparent);background:color-mix(in srgb,currentColor 8%,transparent)}.account-notice-link:hover{color:inherit;text-decoration:none;background:color-mix(in srgb,currentColor 14%,transparent);border-color:color-mix(in srgb,currentColor 36%,transparent)}.account-notice--info{background:var(--color-primary-subtle-bg);color:var(--color-text)}.account-notice--info .account-notice-icon{background:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--color-primary)}.account-notice--warning{background:var(--color-network-warning-bg);color:var(--color-network-warning-text)}.account-notice--warning .account-notice-icon{background:var(--color-network-warning-icon-bg)}.account-notice--warning .account-notice-title{color:inherit}.account-notice--warning .account-notice-detail,.account-notice--warning .account-notice-message{color:color-mix(in srgb,currentColor 88%,transparent)}@media (max-width: 767px){.account-notices{width:calc(100% - 2 * var(--mobile-gutter))}.account-notice-inner{padding:.65rem var(--space-md);column-gap:.65rem}.account-notice-icon{width:1.85rem;height:1.85rem}.account-notice-icon svg{width:16px;height:16px}.account-notice-message{font-size:var(--font-size-xs);line-height:1.35}.account-notice-title{display:block;margin-bottom:.1rem}.account-notice-sep{display:none}.account-notice-detail{display:block}}@media (max-width: 380px){.account-notice-inner{grid-template-columns:auto 1fr;grid-template-rows:auto auto;row-gap:.45rem}.account-notice-icon{grid-row:1 / span 2}.account-notice-copy{grid-column:2}.account-notice-action{grid-column:1 / -1;justify-self:stretch}.account-notice-btn,.account-notice-link{width:100%;min-height:34px}}.install-app-banner{margin:0 auto var(--space-md);max-width:560px;padding:0 var(--space-md)}.install-app-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle)}.install-app-banner-icon-wrap{display:none}.install-app-banner-copy{min-width:0;flex:1}.install-app-banner-title{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);margin-bottom:.2rem}.install-app-banner-text{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-muted);margin-bottom:0}.install-app-banner-steps{display:none}.install-app-banner-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-sm)}.install-app-banner-install{min-height:36px;padding-inline:.9rem;font-size:var(--font-size-sm)}.install-app-banner-dismiss{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);padding:.35rem .5rem;border-radius:var(--radius-sm)}.install-app-banner-dismiss:hover{color:var(--color-text)}@media (min-width: 768px){.install-app-banner{display:none}}@media (max-width: 767px){.main-content--immersive .install-app-banner{display:none}}.network-status-banner{flex-shrink:0;border-bottom:1px solid transparent;animation:network-banner-in var(--transition-slow) ease-out}@keyframes network-banner-in{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}.network-status-banner-inner{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:var(--space-sm);row-gap:.1rem;width:100%;max-width:var(--wide-max);margin:0 auto;padding:var(--space-md) var(--space-lg)}.network-status-banner-inner:not(:has(.network-status-banner-retry)){grid-template-columns:auto 1fr}.network-status-banner-icon{grid-row:1 / -1;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);flex-shrink:0;align-self:center}.network-status-banner-copy{grid-column:2;grid-row:1 / -1;min-width:0;align-self:center}.network-status-banner-title{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:.1rem;line-height:var(--line-height-tight)}.network-status-banner-message{font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0;opacity:.9}.network-status-banner-retry{grid-column:3;grid-row:1 / -1;flex-shrink:0;align-self:center;min-height:34px;padding:.4rem .9rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;line-height:1.2;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent);color:inherit;cursor:pointer;white-space:nowrap;transition:background var(--transition-normal),border-color var(--transition-normal),opacity var(--transition-fast)}.network-status-banner-retry:hover:not(:disabled){background:color-mix(in srgb,currentColor 16%,transparent);border-color:color-mix(in srgb,currentColor 42%,transparent)}.network-status-banner-retry:disabled{opacity:.6;cursor:not-allowed}.network-status-banner--offline{background:var(--color-network-offline-bg);border-bottom-color:var(--color-network-offline-border);color:var(--color-network-offline-text)}.network-status-banner--offline .network-status-banner-icon{background:var(--color-network-offline-icon-bg)}.network-status-banner--server{background:var(--color-network-server-bg);border-bottom-color:var(--color-network-server-border);color:var(--color-network-server-text)}.network-status-banner--server .network-status-banner-icon{background:var(--color-network-server-icon-bg)}.network-status-banner--warning{background:var(--color-network-warning-bg);border-bottom-color:var(--color-network-warning-border);color:var(--color-network-warning-text)}.network-status-banner--warning .network-status-banner-icon{background:var(--color-network-warning-icon-bg)}.network-status-banner--reconnecting{background:var(--color-network-reconnect-bg);border-bottom-color:var(--color-network-reconnect-border);color:var(--color-network-reconnect-text)}.network-status-banner--reconnecting .network-status-banner-icon{background:var(--color-network-reconnect-icon-bg)}.network-status-banner-icon-spin{animation:network-banner-spin 1s linear infinite}@keyframes network-banner-spin{to{transform:rotate(360deg)}}@media (max-width: 767px){.network-status-banner-inner{padding:.65rem var(--mobile-gutter);column-gap:.65rem}.network-status-banner-icon{width:2rem;height:2rem}.network-status-banner-icon svg{width:17px;height:17px}.network-status-banner-title{font-size:var(--font-size-sm);margin-bottom:.05rem}.network-status-banner-message{font-size:var(--font-size-xs);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.network-status-banner-retry{min-height:32px;padding:.35rem .7rem;font-size:var(--font-size-xs)}}@media (max-width: 380px){.network-status-banner-inner{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;row-gap:.45rem}.network-status-banner-icon{grid-row:1 / span 2}.network-status-banner-copy{grid-column:2;grid-row:1 / span 2}.network-status-banner-retry{grid-column:1 / -1;grid-row:3;width:100%;justify-self:stretch;text-align:center}}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 14px;--radius-sm: 10px;--radius-lg: 18px;--radius-full: 999px;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .625rem;--font-size-sm: .75rem;--font-size-md: .875rem;--font-size-base: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.35rem;--font-size-4xl: 1.5rem;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-normal: 1.45;--line-height-relaxed: 1.5;--touch-min: 40px;--nav-height: 52px;--mobile-gutter: var(--space-md);--bottom-nav-height: 60px;--mobile-top-inset: 0px;--mobile-header-block: calc(var(--nav-height) + env(safe-area-inset-top, 0px));--mobile-bottom-nav-block: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px));--app-viewport-height: calc(100dvh - var(--mobile-header-block) - var(--mobile-bottom-nav-block));--content-max: 600px;--wide-max: 1100px;--sidebar-width: 240px;--avatar-size-sm: 28px;--avatar-size-md: 40px;--avatar-size-lg: 80px;--avatar-size-xl: 96px;--reels-viewport-height: var(--app-viewport-height);--reels-item-height: var(--reels-viewport-height);--transition-fast: .1s;--transition-normal: .15s;--transition-slow: .25s;--z-nav: 100;--z-overlay: 200;--z-modal: 300;font-family:var(--font-family);line-height:var(--line-height-relaxed);-webkit-tap-highlight-color:transparent}@media (min-width: 768px){:root{--mobile-top-inset: 0px;--reels-viewport-height: 100dvh;--sidebar-width: 256px;--desktop-shell-padding: var(--space-xl);--desktop-page-max: 58rem;--desktop-feed-max: 40rem;--shadow-surface-sm: 0 1px 2px var(--color-shadow);--shadow-surface: 0 1px 3px var(--color-shadow), 0 12px 32px var(--color-shadow-elevated)}}[data-theme=dark]{color-scheme:dark;--color-bg: #0d0b14;--color-surface: #16131f;--color-surface-hover: #1e1a2b;--color-surface-elevated: #252033;--color-border: #2e2840;--color-border-subtle: rgba(167, 139, 250, .1);--color-text: #f3f0ff;--color-text-muted: #a39bb8;--color-text-on-primary: #ffffff;--color-text-on-media: #ffffff;--color-primary: #a78bfa;--color-primary-hover: #c4b5fd;--color-accent: #c084fc;--color-accent-secondary: #38bdf8;--color-accent-like: #fb7185;--color-danger: #fb7185;--color-danger-subtle-bg: rgba(251, 113, 133, .12);--color-danger-subtle-border: rgba(251, 113, 133, .24);--color-danger-text: #fda4af;--color-danger-text-soft: #fecdd3;--color-success: #34d399;--color-success-subtle-bg: rgba(52, 211, 153, .12);--color-success-subtle-border: rgba(52, 211, 153, .24);--color-info-subtle-bg: rgba(167, 139, 250, .14);--color-network-offline-bg: rgba(250, 204, 21, .1);--color-network-offline-border: rgba(250, 204, 21, .24);--color-network-offline-text: #fde68a;--color-network-offline-icon-bg: rgba(250, 204, 21, .16);--color-network-server-bg: rgba(251, 113, 133, .1);--color-network-server-border: rgba(251, 113, 133, .24);--color-network-server-text: #fecdd3;--color-network-server-icon-bg: rgba(251, 113, 133, .16);--color-network-warning-bg: rgba(251, 146, 60, .1);--color-network-warning-border: rgba(251, 146, 60, .24);--color-network-warning-text: #fdba74;--color-network-warning-icon-bg: rgba(251, 146, 60, .16);--color-network-reconnect-bg: rgba(52, 211, 153, .1);--color-network-reconnect-border: rgba(52, 211, 153, .24);--color-network-reconnect-text: #a7f3d0;--color-network-reconnect-icon-bg: rgba(52, 211, 153, .16);--color-overlay: rgba(13, 11, 20, .58);--color-overlay-heavy: rgba(13, 11, 20, .74);--color-overlay-light: rgba(13, 11, 20, .3);--color-overlay-muted: rgba(13, 11, 20, .14);--color-overlay-faint: rgba(13, 11, 20, .18);--color-navbar: rgba(13, 11, 20, .9);--color-navbar-solid: rgba(13, 11, 20, .97);--color-navbar-border: var(--color-border-subtle);--color-nav-tab: #7c7694;--color-nav-tab-active: #f3f0ff;--color-badge: var(--color-primary);--color-media-bg: #0a0810;--color-reels-shell-bg: #0d0b14;--color-reels-feed-bg: #0a0810;--color-reels-stage-bg: #0a0810;--color-reels-desktop-canvas: #0d0b14;--color-reels-phone-border: rgba(167, 139, 250, .14);--shadow-reels-phone: 0 24px 64px rgba(0, 0, 0, .52);--color-reels-empty-sub: rgba(255, 255, 255, .72);--color-reels-loading-text: rgba(255, 255, 255, .65);--color-shorts-subscribe: #fb7185;--color-media-border: #2e2840;--color-media-gradient-bottom: rgba(10, 8, 16, .8);--color-media-control-bg: rgba(10, 8, 16, .5);--color-text-post-gradient-start: #1e1a2b;--color-text-post-gradient-end: #16131f;--color-banner-muted-bg: rgba(167, 139, 250, .07);--color-promo-gradient-start: rgba(167, 139, 250, .16);--color-promo-gradient-end: rgba(56, 189, 248, .08);--color-promo-border: rgba(167, 139, 250, .24);--color-primary-subtle-bg: rgba(167, 139, 250, .14);--color-primary-subtle-border: rgba(167, 139, 250, .26);--color-unread-bg: rgba(167, 139, 250, .1);--color-surface-subtle: rgba(167, 139, 250, .06);--color-surface-subtle-hover: rgba(167, 139, 250, .1);--color-create-btn-bg: linear-gradient(135deg, #8b5cf6, #6366f1);--color-create-btn-fg: #ffffff;--color-avatar-ring: rgba(255, 255, 255, .92);--color-shadow: rgba(0, 0, 0, .26);--color-shadow-elevated: rgba(0, 0, 0, .4);--color-text-shadow-media: rgba(10, 8, 16, .52);--color-text-shadow-media-strong: rgba(10, 8, 16, .64);--shadow-card: 0 1px 2px rgba(0, 0, 0, .22);--shadow-dropdown: 0 12px 40px rgba(0, 0, 0, .44);--meta-theme-color: #0d0b14;--logo-filter: none}[data-theme=light]{color-scheme:light;--color-bg: #f7f5fc;--color-surface: #ffffff;--color-surface-hover: #f3f0fa;--color-surface-elevated: #ffffff;--color-border: #e4dff0;--color-border-subtle: rgba(76, 29, 149, .07);--color-text: #1e1b2e;--color-text-muted: #6b6680;--color-text-on-primary: #ffffff;--color-text-on-media: #ffffff;--color-primary: #7c3aed;--color-primary-hover: #6d28d9;--color-accent: #a78bfa;--color-accent-secondary: #38bdf8;--color-accent-like: #f43f5e;--color-danger: #e11d48;--color-danger-subtle-bg: rgba(225, 29, 72, .07);--color-danger-subtle-border: rgba(225, 29, 72, .16);--color-danger-text: #be123c;--color-danger-text-soft: #9f1239;--color-success: #059669;--color-success-subtle-bg: rgba(5, 150, 105, .08);--color-success-subtle-border: rgba(5, 150, 105, .18);--color-info-subtle-bg: rgba(124, 58, 237, .08);--color-network-offline-bg: #fffbeb;--color-network-offline-border: #fde68a;--color-network-offline-text: #a16207;--color-network-offline-icon-bg: #fef3c7;--color-network-server-bg: #fff1f2;--color-network-server-border: #fecdd3;--color-network-server-text: #be123c;--color-network-server-icon-bg: #ffe4e6;--color-network-warning-bg: #fff7ed;--color-network-warning-border: #fed7aa;--color-network-warning-text: #c2410c;--color-network-warning-icon-bg: #ffedd5;--color-network-reconnect-bg: #ecfdf5;--color-network-reconnect-border: #a7f3d0;--color-network-reconnect-text: #047857;--color-network-reconnect-icon-bg: #d1fae5;--color-overlay: rgba(30, 27, 46, .34);--color-overlay-heavy: rgba(30, 27, 46, .5);--color-overlay-light: rgba(30, 27, 46, .1);--color-overlay-muted: rgba(30, 27, 46, .04);--color-overlay-faint: rgba(30, 27, 46, .06);--color-navbar: rgba(247, 245, 252, .88);--color-navbar-solid: rgba(255, 255, 255, .96);--color-navbar-border: var(--color-border-subtle);--color-nav-tab: #9490a8;--color-nav-tab-active: #1e1b2e;--color-badge: var(--color-primary);--color-media-bg: #120f1a;--color-reels-shell-bg: var(--color-bg);--color-reels-feed-bg: var(--color-bg);--color-reels-stage-bg: #120f1a;--color-reels-desktop-canvas: var(--color-bg);--color-reels-phone-border: rgba(76, 29, 149, .12);--shadow-reels-phone: 0 24px 56px rgba(76, 29, 149, .16);--color-reels-empty-sub: rgba(255, 255, 255, .72);--color-reels-loading-text: rgba(255, 255, 255, .65);--color-shorts-subscribe: #f43f5e;--color-media-border: var(--color-border);--color-media-gradient-bottom: rgba(18, 15, 26, .76);--color-media-control-bg: rgba(18, 15, 26, .44);--color-text-post-gradient-start: #f3f0fa;--color-text-post-gradient-end: #faf8ff;--color-banner-muted-bg: rgba(124, 58, 237, .04);--color-promo-gradient-start: rgba(124, 58, 237, .1);--color-promo-gradient-end: rgba(56, 189, 248, .06);--color-promo-border: rgba(124, 58, 237, .18);--color-primary-subtle-bg: rgba(124, 58, 237, .09);--color-primary-subtle-border: rgba(124, 58, 237, .2);--color-unread-bg: rgba(124, 58, 237, .07);--color-surface-subtle: rgba(124, 58, 237, .04);--color-surface-subtle-hover: rgba(124, 58, 237, .07);--color-create-btn-bg: linear-gradient(135deg, #7c3aed, #6366f1);--color-create-btn-fg: #ffffff;--color-avatar-ring: #ffffff;--color-shadow: rgba(76, 29, 149, .06);--color-shadow-elevated: rgba(76, 29, 149, .12);--color-text-shadow-media: rgba(18, 15, 26, .44);--color-text-shadow-media-strong: rgba(18, 15, 26, .56);--shadow-card: 0 1px 2px rgba(76, 29, 149, .05);--shadow-dropdown: 0 12px 40px rgba(76, 29, 149, .12);--meta-theme-color: #f7f5fc;--logo-filter: brightness(0)}[data-theme=light]{--role-kid-fg: #4d7c0e;--role-kid-bg: rgba(132, 204, 22, .16);--role-kid-border: rgba(101, 163, 13, .34);--role-teen-fg: #0369a1;--role-teen-bg: rgba(14, 165, 233, .14);--role-teen-border: rgba(14, 165, 233, .32);--role-parent-fg: #be123c;--role-parent-bg: rgba(244, 63, 94, .12);--role-parent-border: rgba(244, 63, 94, .3);--role-teacher-fg: #047857;--role-teacher-bg: rgba(16, 185, 129, .12);--role-teacher-border: rgba(16, 185, 129, .32);--role-content-creator-fg: #b45309;--role-content-creator-bg: rgba(245, 158, 11, .14);--role-content-creator-border: rgba(245, 158, 11, .34);--role-admin-fg: #5b21b6;--role-admin-bg: rgba(124, 58, 237, .12);--role-admin-border: rgba(124, 58, 237, .3);--role-owner-fg: #ffffff;--role-owner-bg: #0a0a0a;--role-owner-border: #1a1a1a}[data-theme=dark]{--role-kid-fg: #d9f99d;--role-kid-bg: rgba(132, 204, 22, .2);--role-kid-border: rgba(163, 230, 53, .38);--role-teen-fg: #7dd3fc;--role-teen-bg: rgba(56, 189, 248, .16);--role-teen-border: rgba(56, 189, 248, .34);--role-parent-fg: #fda4af;--role-parent-bg: rgba(251, 113, 133, .16);--role-parent-border: rgba(251, 113, 133, .34);--role-teacher-fg: #6ee7b7;--role-teacher-bg: rgba(52, 211, 153, .14);--role-teacher-border: rgba(52, 211, 153, .32);--role-content-creator-fg: #fcd34d;--role-content-creator-bg: rgba(251, 191, 36, .14);--role-content-creator-border: rgba(251, 191, 36, .32);--role-admin-fg: #c4b5fd;--role-admin-bg: rgba(139, 92, 246, .18);--role-admin-border: rgba(139, 92, 246, .38);--role-owner-fg: #f5f5f5;--role-owner-bg: #000000;--role-owner-border: #262626}[data-theme=dark],[data-theme=light]{--bg: var(--color-bg);--surface: var(--color-surface);--surface-hover: var(--color-surface-hover);--border: var(--color-border);--border-subtle: var(--color-border-subtle);--text: var(--color-text);--text-muted: var(--color-text-muted);--primary: var(--color-primary);--primary-hover: var(--color-primary-hover);--danger: var(--color-danger);--success: var(--color-success);--shadow: var(--shadow-card)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--color-text);background:var(--color-bg);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-text);text-decoration:none}a:hover{color:var(--color-primary)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;touch-action:manipulation}img{max-width:100%;display:block}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}.container{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--space-md)}.container-wide{width:100%;max-width:var(--wide-max);margin:0 auto;padding:0 var(--space-lg)}.app-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg)}.main-content{flex:1;padding:var(--space-lg) 0 calc(var(--mobile-bottom-nav-block) + var(--space-md))}@media (min-width: 768px){.app-layout--with-sidebar{flex-direction:row;align-items:stretch;min-height:100dvh}.app-shell-body{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh}.app-layout--with-sidebar .navbar{display:none}.app-layout--authenticated .main-content:not(.main-content--immersive):not(.main-content--admin),.app-layout--guest .main-content:not(.main-content--immersive):not(.main-content--admin){padding-top:var(--space-lg)}}@media (max-width: 767px){.app-layout--authenticated,.app-layout--guest{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-layout--authenticated .app-shell-body,.app-layout--guest .app-shell-body{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden}.app-layout--authenticated .app-shell-body>.navbar,.app-layout--guest .app-shell-body>.navbar,.app-layout--authenticated .app-shell-body>.network-status-banner,.app-layout--guest .app-shell-body>.network-status-banner{flex-shrink:0}.app-layout--authenticated .site-footer,.app-layout--guest .site-footer{display:none}.app-layout--authenticated .main-content,.app-layout--guest .main-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:var(--space-md) 0;padding-bottom:calc(var(--mobile-bottom-nav-block) + var(--space-md))}.app-layout--authenticated .main-content--immersive,.app-layout--guest .main-content--immersive{padding:0;overflow:hidden;display:flex;flex-direction:column}.app-layout--authenticated .main-content--immersive>.container,.app-layout--authenticated .main-content--immersive>.container-wide,.app-layout--guest .main-content--immersive>.container,.app-layout--guest .main-content--immersive>.container-wide{flex:1;min-height:0;max-width:none;padding:0;margin:0;width:100%}.app-layout--authenticated .main-content--immersive.main-content--messages,.app-layout--guest .main-content--immersive.main-content--messages{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.app-layout--authenticated .main-content--immersive.main-content--messages>.messages-layout,.app-layout--guest .main-content--immersive.main-content--messages>.messages-layout{flex:1;min-height:0;height:auto;max-height:none;width:100%}.app-layout--admin.app-layout--authenticated .main-content--admin{padding-bottom:var(--space-sm)}.app-layout--admin.app-layout--authenticated{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-layout--admin .app-shell-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-layout--admin .app-shell-body>.network-status-banner{flex-shrink:0}.app-layout--admin .navbar{display:none}.app-layout--admin .main-content--admin{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.app-layout--admin .main-content--admin>.admin-app{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:none;margin:0;padding:0}}.main-content--immersive{padding:0;overflow:hidden}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;margin-bottom:var(--space-md);line-height:var(--line-height-tight)}.page-back-link{margin-bottom:var(--space-sm)}.page-back-link a{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-md)}.page-back-link a:hover{color:var(--color-text);text-decoration:none}.home-banner{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.home-banner-success{background:var(--color-success-subtle-bg);color:var(--color-text)}.reels-promo{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border-subtle);color:var(--color-text);text-decoration:none;font-weight:var(--font-weight-medium);transition:background var(--transition-normal),border-color var(--transition-normal)}.reels-promo:hover{text-decoration:none;background:var(--color-surface-hover);border-color:var(--color-border)}.reels-promo span{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.reels-promo-icon{font-size:var(--font-size-3xl)}.page-section{margin-bottom:var(--space-xl)}.page-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--touch-min);padding:.5rem 1rem;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),opacity var(--transition-fast);white-space:nowrap}.btn:active{opacity:.88}.btn-primary{background:var(--color-create-btn-bg, var(--color-primary));color:var(--color-create-btn-fg, var(--color-text-on-primary))}.btn-primary:hover{filter:brightness(1.06)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:color-mix(in srgb,var(--color-border) 70%,var(--color-text))}.btn-ghost{background:transparent;color:var(--color-text-muted);border:none;min-height:36px;padding:.35rem .65rem}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface-subtle)}.btn-danger{background:var(--color-danger-subtle-bg);color:var(--color-danger)}.btn-sm{min-height:32px;padding:.3rem .7rem;font-size:var(--font-size-sm)}.btn-icon{min-width:var(--touch-min);padding:var(--space-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card)}.card-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:.4rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);letter-spacing:.01em}.form-group input,.form-group textarea{width:100%;min-height:var(--touch-min);padding:.65rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.form-group textarea{min-height:6rem;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border));box-shadow:0 0 0 3px var(--color-primary-subtle-bg)}.search-form{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.search-form input{width:100%;min-height:var(--touch-min);padding:.65rem .9rem;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text)}.search-form input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border));box-shadow:0 0 0 3px var(--color-primary-subtle-bg)}.error-msg{color:var(--color-danger);font-size:var(--font-size-md);margin-top:var(--space-sm)}.empty-state{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--color-text-muted)}.infinite-scroll-sentinel{height:1px;width:100%;pointer-events:none;visibility:hidden}.avatar{width:var(--avatar-size-md);height:var(--avatar-size-md);min-width:var(--avatar-size-md);min-height:var(--avatar-size-md);border-radius:50%;object-fit:cover;background:var(--color-border);flex-shrink:0}.avatar-lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg);min-width:var(--avatar-size-lg);min-height:var(--avatar-size-lg);font-size:2rem}.avatar-sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm);min-width:var(--avatar-size-sm);min-height:var(--avatar-size-sm);font-size:var(--font-size-sm)}.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);overflow:hidden;-webkit-user-select:none;user-select:none}.avatar-lg.avatar-placeholder{font-size:2rem}.avatar-sm.avatar-placeholder{font-size:var(--font-size-sm)}.notif-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.notif-item{display:flex;gap:var(--space-sm);align-items:flex-start}.notif-item.unread-notif{border-color:var(--color-primary);background:var(--color-unread-bg)}.notif-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:.15rem}.notif-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl)}.admin-stat{text-align:center}.admin-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.admin-stat-label{color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:capitalize}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--font-size-md)}.admin-table th,.admin-table td{padding:.65rem var(--space-sm);text-align:left}.admin-table thead tr{color:var(--color-text-muted)}.admin-table tbody tr{border-top:1px solid var(--color-border)}.admin-post-card{margin-bottom:var(--space-sm)}.admin-post-row{display:flex;flex-direction:column;gap:var(--space-md)}.admin-post-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin-user-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.admin-birth-year-edit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.admin-birth-date-readout{display:block;width:100%;font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:.15rem}.admin-role-edit,.admin-verify-edit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.admin-verify-status{font-size:var(--font-size-sm);color:var(--text-muted)}.admin-birth-year-edit select,.admin-role-edit select{min-width:5.5rem;min-height:32px;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface)}.admin-page-error{margin-bottom:var(--space-md)}.admin-users-cards{display:grid;gap:var(--space-sm)}.admin-user-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.admin-user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.admin-user-card-name{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);word-break:break-word}.admin-user-card-email{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);word-break:break-all}.admin-user-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.admin-user-card-status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-user-card-field{display:flex;flex-direction:column;gap:.35rem}.admin-user-card-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.admin-user-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.admin-filters{display:grid;gap:var(--space-sm);margin-bottom:var(--space-md)}.admin-filter-input,.admin-filters select{width:100%;min-height:40px;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface)}.admin-filter-input:focus,.admin-filters select:focus{outline:2px solid var(--color-primary);outline-offset:0}@media (min-width: 640px){.page-title{font-size:var(--font-size-4xl)}.avatar-lg{width:var(--avatar-size-xl);height:var(--avatar-size-xl);min-width:var(--avatar-size-xl);min-height:var(--avatar-size-xl);font-size:2.25rem}.avatar-lg.avatar-placeholder{font-size:2.25rem}.search-form{flex-direction:row;align-items:stretch}.search-form input{flex:1}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md)}.admin-post-row{flex-direction:row;justify-content:space-between;align-items:flex-start}.admin-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media (max-width: 767px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.admin-stat{padding:var(--space-md) var(--space-sm);border-radius:var(--radius-lg)}.admin-stat-value{font-size:var(--font-size-2xl)}.admin-stat-label{font-size:var(--font-size-xs);line-height:1.3}.admin-filters.card{padding:var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.admin-filter-input,.admin-filters select{min-height:var(--touch-min);font-size:var(--font-size-base)}.admin-post-card{padding:var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-sm)}.admin-post-actions{gap:var(--space-xs)}.admin-post-actions .btn{flex:1 1 auto;min-width:0}.admin-user-card{border-radius:var(--radius-lg)}.admin-user-card-actions .btn,.admin-role-edit .btn,.admin-birth-year-edit .btn,.admin-verify-edit .btn{min-height:38px}.admin-role-edit select,.admin-birth-year-edit select{min-height:38px;flex:1;min-width:0}.admin-page-error{margin:0 0 var(--space-md);padding:0 var(--mobile-gutter)}}@media (min-width: 768px){.main-content{padding:var(--space-lg) 0 var(--space-xl)}.app-layout--admin .main-content--admin{padding:var(--space-md) 0 var(--space-lg)}.app-layout--authenticated,.app-layout--guest{height:auto;overflow:visible}.app-layout--with-sidebar.app-layout--authenticated,.app-layout--with-sidebar.app-layout--guest{height:100dvh;overflow:hidden}.app-layout--with-sidebar .app-shell-body{overflow:hidden}.app-layout--with-sidebar .main-content:not(.main-content--immersive):not(.main-content--admin){overflow-y:auto;-webkit-overflow-scrolling:touch}.app-layout--authenticated .main-content,.app-layout--guest .main-content{overflow:visible;padding:var(--space-lg) 0 var(--space-xl)}.app-layout--immersive{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:row}.app-layout--immersive.app-layout--with-sidebar .app-shell-body{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-layout--immersive .network-status-banner{flex-shrink:0}.app-layout--immersive .site-footer{display:none}.app-layout--authenticated .main-content--immersive,.app-layout--guest .main-content--immersive{flex:1;display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;height:auto;max-height:none;background:var(--color-reels-desktop-canvas)}.app-layout--authenticated .main-content--immersive>.reels-page,.app-layout--guest .main-content--immersive>.reels-page{flex:1;min-height:0}.app-layout--with-sidebar .main-content--immersive.main-content--messages{padding-top:var(--space-lg);padding-bottom:var(--space-xl);background:var(--color-bg)}.app-layout--with-sidebar .main-content--immersive.main-content--messages>.messages-layout{flex:1;min-height:0}.main-content--immersive{padding:0}.card{padding:var(--space-md) var(--space-lg)}}@media (min-width: 768px){.app-layout--with-sidebar .app-shell-body{background:var(--color-bg)}.app-layout--with-sidebar .main-content:not(.main-content--immersive):not(.main-content--admin){padding-left:var(--desktop-shell-padding);padding-right:var(--desktop-shell-padding)}.app-layout--with-sidebar .main-content--immersive.main-content--messages{padding-left:var(--desktop-shell-padding);padding-right:var(--desktop-shell-padding)}.container,.container-wide{max-width:var(--desktop-page-max);padding-left:0;padding-right:0}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin-bottom:var(--space-lg)}.page-section{margin-bottom:var(--space-xl)}.page-section-title{font-size:var(--font-size-lg);letter-spacing:-.02em;margin-bottom:var(--space-md)}.card{border-color:var(--color-border);box-shadow:var(--shadow-surface-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-surface)}.search-form{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-sm);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:var(--color-surface);box-shadow:var(--shadow-surface-sm)}.search-form input{flex:1;min-height:44px;padding:0 1rem;border:none;border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.search-form input:focus{outline:2px solid var(--color-primary);outline-offset:0;background:var(--color-surface)}.notif-list{display:flex;flex-direction:column;gap:var(--space-sm)}.notif-item.card{padding:var(--space-md) var(--space-lg)}.profile-page{max-width:var(--desktop-feed-max);margin:0 auto}.settings-shell{max-width:var(--desktop-page-max);padding-left:0;padding-right:0}.settings-layout{border-radius:var(--radius-lg);box-shadow:var(--shadow-surface-sm);border-color:var(--color-border)}}
