:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-rail:#0d0d0d;--color-sidebar:#161616;--color-sidebar-soft:#141414;--color-canvas:#1a1a1a;--color-canvas-soft:#222;--color-row:#1e1e1e;--color-row-hover:#262626;--color-border:#2e2e2e;--color-border-soft:#ffffff14;--color-text:#f0f0f0;--color-muted:#9a9a9a;--color-muted-strong:#c8c8c8;--color-accent:#c62828;--color-accent-strong:#ef5350;--color-success:#43b581;--color-danger-border:#7c3840;--color-danger-text:#ffd6da;--color-danger-surface:color-mix(in srgb, var(--color-danger-border) 28%, var(--color-row));--color-success-text:#d8ffe9;--color-success-surface:color-mix(in srgb, var(--color-success) 22%, var(--color-row));--color-warning:#f07178;--color-caution:#f0d060;--color-avatar-bg:#f0b86c;--color-avatar-fg:#10131a;--color-on-accent:#fff;--radius-control:10px;--radius-row:10px;--radius-pill:999px;--rail-width:var(--shell-rail-width,76px);--sidebar-width:var(--shell-sidebar-width,clamp(248px, 21vw, 316px));--shadow-panel:0 24px 80px #00000073;--shadow-overlay:0 24px 80px #0000008c;--focus-ring:0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-accent-strong);--motion-fast:.12s;--motion-panel:.18s;--z-raised:1;--z-sticky:2;--z-dropdown:10;--z-drawer:20;--z-bottom-tabs:25;--z-overlay:30;--composer-clearance:calc(72px + env(safe-area-inset-bottom,0px));--bottom-tab-height:56px;--z-popover:40;--z-toast:50;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-rail:#ececec;--color-sidebar:#f3f3f3;--color-sidebar-soft:#ececec;--color-canvas:#f7f7f7;--color-canvas-soft:#fff;--color-row:#eee;--color-row-hover:#e4e4e4;--color-border:#d0d0d0;--color-border-soft:#00000014;--color-text:#151515;--color-muted:#5c5c5c;--color-muted-strong:#3d3d3d;--color-accent:#c62828;--color-accent-strong:#b71c1c;--color-success:#2f9e6b;--color-danger-border:#c45b66;--color-danger-text:color-mix(in srgb, var(--color-danger-border) 80%, var(--color-text));--color-success-text:color-mix(in srgb, var(--color-success) 75%, var(--color-text));--color-on-accent:#fff;--shadow-panel:0 24px 80px #0000001f;--shadow-overlay:0 24px 80px #0000002e;--focus-ring:0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-accent-strong)}:root,[data-theme=dark],[data-theme=light]{--font-scale:1;--density-pad:10px;--density-gap:8px}[data-font-scale=sm]{--font-scale:.92}[data-font-scale=md]{--font-scale:1}[data-font-scale=lg]{--font-scale:1.08}[data-density=compact]{--density-pad:6px;--density-gap:4px;--radius-control:8px}[data-density=comfortable]{--density-pad:10px;--density-gap:8px}html{font-size:calc(100% * var(--font-scale))}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-panel:0s}}*{box-sizing:border-box;scrollbar-color:color-mix(in srgb, var(--color-muted) 34%, transparent) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-muted) 24%, transparent);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--color-muted-strong) 42%, transparent);background-clip:padding-box}::-webkit-scrollbar-button{width:0;height:0;display:none}body{background:var(--color-canvas);min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select{font:inherit;min-width:0}button{cursor:pointer}.app-frame{width:100%;height:100%;min-height:0;position:relative}.app-shell{width:100%;min-width:0;max-width:100%;height:100dvh;color:var(--color-text);display:grid;overflow:hidden}.app-shell-slot{min-width:0;min-height:0;overflow:hidden}.app-shell-slot[data-slot=rail]{width:var(--shell-rail-width,var(--rail-width));grid-area:rail}.app-shell-slot[data-slot=sidebar]{width:var(--shell-sidebar-width,var(--sidebar-width));flex-direction:column;grid-area:sidebar;display:flex}.app-shell-slot[data-slot=sidebar]>.channel-sidebar,.app-shell-slot[data-slot=sidebar]>.home-sidebar{flex:1;height:100%;min-height:0}.app-shell-slot[data-slot=main]{flex-direction:column;grid-area:main;min-height:0;display:flex}.app-shell-slot[data-slot=main]>.chat-stage,.app-shell-slot[data-slot=main]>.chat-panel,.app-shell-slot[data-slot=main]>.fm-hub-shell{flex:1;min-width:0;height:100%;min-height:0}.app-shell-slot[data-slot=right]{width:var(--shell-right-width,240px);grid-area:right}.app-shell-slot[data-slot=composer]{grid-area:composer;overflow:visible}.app-shell-slot[data-slot=sidebar]:empty,.app-shell-slot[data-slot=right]:empty,.app-shell-slot[data-slot=composer]:empty{display:none}.chat-stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.chat-stage>.chat-panel{flex:1;min-width:0;min-height:0}.voice-screen-share-stage{z-index:var(--z-dropdown);pointer-events:none;width:min(720px,100% - 36px);position:absolute;bottom:18px;right:18px}.voice-screen-share-tile{border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-overlay);background:#050505;margin:0;overflow:hidden}.voice-screen-share-tile video{object-fit:contain;background:#050505;width:100%;max-height:min(70dvh,720px);display:block}.voice-screen-share-tile figcaption{color:var(--color-text);background:var(--color-row);padding:8px 12px;font-size:.78rem;font-weight:700}.workspace-sidebar{background:var(--color-rail);border-right:1px solid var(--color-border-soft);flex-direction:column;align-items:center;gap:20px;min-width:0;padding:24px 10px;display:flex}.ui-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.08em;height:1.08em;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.workspace-brand{width:100%;min-height:26px;color:var(--color-text);letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:900;overflow:hidden}.workspace-nav{gap:12px;display:grid}.workspace-button{width:52px;height:52px;color:var(--color-muted-strong);background:var(--color-canvas-soft);transition:border-color var(--motion-fast) ease, border-radius var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease;border:1px solid #0000;border-radius:14px;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.workspace-button:hover{border-color:var(--color-border-soft);color:var(--color-text);background:var(--color-row-hover)}.workspace-button.active{color:var(--color-on-accent);background:var(--color-accent);border-color:#0000;border-radius:14px}.workspace-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.workspace-button-icon{line-height:1;display:block}.workspace-button-with-icon{padding:0;overflow:hidden}.workspace-button-image{object-fit:cover;width:100%;height:100%;display:block}.workspace-button-label{font-size:.84rem;font-weight:850;line-height:1}.channel-sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border-soft);flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-header,.chat-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.workspace-header{border-bottom:1px solid var(--color-border-soft);min-height:76px;padding:20px}.workspace-header h1,.chat-header h2,.empty-state h3,.auth-card h1{letter-spacing:0;margin:0}.workspace-header h1{font-size:1.15rem}.workspace-title-line,.chat-title h2{align-items:center;gap:9px;min-width:0;display:flex}.workspace-header-actions{align-items:center;gap:10px;display:flex}.section-add-button{width:26px;height:26px;color:var(--color-muted);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:inline-grid}.section-add-button:hover{border-color:var(--color-border-soft);color:var(--color-text);background:var(--color-row);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease}.mobile-menu-button,.mobile-drawer-close,.mobile-drawer-backdrop,.chat-header-members-button,.mobile-workspace-switcher,.fm-mobile-navigation{display:none}.chat-title{min-width:0}.chat-title h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eyebrow,.section-label{color:var(--color-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}.status{color:var(--color-muted-strong);white-space:nowrap;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.status:before{content:"";background:var(--color-muted);border-radius:999px;width:8px;height:8px}.status.online:before{background:var(--color-success)}.channel-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding:20px 14px 14px;display:flex;overflow-y:auto}.channel-section{gap:6px;display:grid}.channel-section+.channel-section{margin-top:14px}.section-label{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:0 10px 2px;font-size:.68rem;font-weight:800}.section-heading-row{justify-content:space-between;align-items:center;gap:8px;padding-right:4px;display:flex}.channel{align-items:center;gap:var(--density-gap,8px);width:100%;min-width:0;min-height:36px;padding:0 var(--density-pad,10px);color:var(--color-muted-strong);text-align:left;transition:background var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;border:1px solid #0000;border-radius:10px;display:flex}.channel.unread .channel-name{color:var(--color-text);font-weight:850}.channel.mentioned{color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.channel.mentioned .channel-hash,.channel.mentioned .channel-name{color:var(--color-text)}.channel-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.channel:hover{color:var(--color-text);background:var(--color-row-hover)}.channel.active{color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 16%, var(--color-row));border-color:#0000;font-weight:760}.channel-hash{color:var(--color-muted);font-size:1.15rem;font-weight:700}.channel-hash .ui-icon{width:1.05rem;height:1.05rem}.channel-unread-dot,.channel-mention-badge{flex:none;margin-left:auto}.channel-unread-dot{background:var(--color-muted-strong);border-radius:50%;width:8px;height:8px}.channel-mention-badge{min-width:22px;height:22px;color:var(--color-on-accent);background:var(--color-accent);border-radius:999px;place-items:center;font-size:.76rem;font-weight:900;display:inline-grid}.channel-empty{color:var(--color-muted);margin:4px 8px;font-size:.84rem}.channel.voice{cursor:pointer}.channel.voice:disabled{cursor:not-allowed;opacity:.55}.channel.voice:disabled .voice-join-label{color:var(--color-muted);background:var(--color-row)}.voice-join-label{color:var(--color-muted);background:var(--color-row);border-radius:999px;flex:none;margin-left:auto;padding:4px 10px;font-size:.74rem;font-weight:800}.channel.voice.active .voice-join-label{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 14%, transparent)}.voice-user-list{gap:4px;margin:2px 0 4px 28px;display:grid}.voice-user{min-width:0;color:var(--color-muted-strong);align-items:center;gap:7px;font-size:.84rem;display:flex}.voice-user-profile-button{min-width:0;color:inherit;text-align:left;flex:auto;align-items:center;gap:7px;padding:0;display:flex}.voice-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.voice-user-name{flex:auto}.voice-disconnect-button{border:1px solid color-mix(in srgb, var(--color-danger-border) 55%, transparent);background:color-mix(in srgb, var(--color-danger-border) 14%, var(--color-row));color:color-mix(in srgb, var(--color-danger-border) 70%, var(--color-text));border-radius:5px;flex:none;padding:3px 6px;font-size:.68rem;font-weight:800}.voice-disconnect-button:hover{border-color:var(--color-warning);background:var(--color-danger-surface);color:var(--color-danger-text)}.voice-capacity-warn{color:var(--color-caution);margin:0 8px 2px 28px;font-size:.72rem;font-weight:700}.voice-user.speaking .avatar.tiny{box-shadow:0 0 0 2px var(--color-success)}.voice-user.speaking .voice-user-name{color:color-mix(in srgb, var(--color-success) 55%, var(--color-success-text))}.avatar.tiny{width:20px;height:20px;font-size:.68rem}.sidebar-bottom-stack{border-top:1px solid var(--color-border-soft);background:var(--color-sidebar-soft);flex:none;gap:12px;min-width:0;padding:12px 14px 14px;display:grid}.voice-control-panel{box-sizing:border-box;border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-row);min-width:0;max-width:100%;box-shadow:var(--shadow-panel);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease;flex-direction:column;flex:none;gap:12px;padding:14px;display:flex;position:relative}.voice-control-panel.voice-control-strip{flex-flow:wrap;align-items:center;gap:8px;padding:10px 12px}.voice-control-panel.connected{border-color:color-mix(in srgb, var(--color-success) 42%, transparent);background:color-mix(in srgb, var(--color-success) 8%, var(--color-row))}.voice-control-info{flex:7rem;align-items:center;gap:8px;min-width:0;display:flex}.voice-connected-dot{background:var(--color-success);border-radius:999px;flex:none;width:8px;height:8px}.voice-control-info>div{min-width:0}.voice-control-info p,.voice-control-panel>p{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:800;overflow:hidden}.voice-control-info small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.voice-control-device{min-width:0;color:var(--color-muted);flex-direction:column;gap:4px;font-size:.7rem;font-weight:700;display:flex}.voice-control-device select{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);width:100%;min-width:0;color:var(--color-text);background:var(--color-canvas-soft);transition:border-color var(--motion-fast) ease;padding:5px 8px;font-size:.72rem}.voice-control-device select:disabled{opacity:.5;cursor:not-allowed}.voice-control-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:4px;max-width:100%;margin-left:auto;display:flex}.voice-control-strip .voice-control-button{flex:none;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-flex}.voice-control-button{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);min-width:0;color:var(--color-text);background:var(--color-canvas-soft);transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease;flex:auto;padding:7px 10px;font-size:.78rem;font-weight:700}.voice-control-button:hover{border-color:var(--color-border);background:var(--color-row-hover)}.voice-control-button.active{border-color:color-mix(in srgb, var(--color-danger-border) 55%, transparent);color:color-mix(in srgb, var(--color-danger-border) 70%, var(--color-text));background:color-mix(in srgb, var(--color-danger-border) 14%, var(--color-row))}.voice-control-button.leave{border-color:color-mix(in srgb, var(--color-danger-border) 35%, transparent);color:color-mix(in srgb, var(--color-danger-border) 70%, var(--color-text))}.voice-control-button.ptt-hold.active,.voice-control-button.sharing{border-color:color-mix(in srgb, var(--color-success) 55%, transparent);color:var(--color-success);background:color-mix(in srgb, var(--color-success) 18%, var(--color-row))}.voice-settings-popover{z-index:var(--z-dropdown);border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(280px,100vw - 48px);box-shadow:var(--shadow-overlay);gap:12px;padding:12px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.voice-settings-section{gap:8px;display:grid}.voice-settings-heading{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.voice-settings-status{color:var(--color-muted);margin:0;font-size:.75rem}.voice-ptt-key-button{width:100%}.sidebar-user-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-row);min-width:0;box-shadow:var(--shadow-panel);flex:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.profile-panel{flex:none}.sidebar-user-avatar-button{background:0 0;border:0;border-radius:50%;padding:0}.profile-panel p,.message p{margin:0}.online-panel{border-top:1px solid var(--color-border-soft);flex:none;min-height:0;max-height:clamp(108px,22vh,190px);padding:14px;overflow-y:auto}.online-list{gap:7px;display:grid}.online-user{border-radius:var(--radius-row);min-width:0;color:var(--color-muted-strong);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:4px 6px;font-size:.9rem;display:flex}.online-user:hover{color:var(--color-text);background:var(--color-row-hover)}.online-user span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-pip{background:var(--color-muted);border-radius:999px;flex:none;width:8px;height:8px}.status-pip.online{background:var(--color-success)}.online-empty{color:var(--color-muted);margin:0;font-size:.85rem}.profile-details{flex:auto;min-width:0}.profile-details p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-panel small{color:var(--color-muted)}.profile-actions{flex:none;gap:4px;display:flex}.sidebar-user-icon-button{width:28px;height:28px;color:var(--color-muted-strong);background:var(--color-row-hover);border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.sidebar-user-icon-button:hover{color:var(--color-text)}.avatar{width:36px;height:36px;color:var(--color-avatar-fg);background:var(--color-avatar-bg);object-fit:cover;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar.small{width:24px;height:24px;font-size:.75rem}.avatar.profile-avatar{width:96px;height:96px;font-size:2rem}.workspace-sidebar{gap:18px}.workspace-button{font-size:1rem}.home-sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border-soft);flex-direction:column;min-width:0;min-height:0;display:flex}.home-sidebar .sidebar-bottom-stack{margin-top:auto}.home-sidebar-scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.home-section{gap:6px;display:grid}.friends-avatar-wrap{display:inline-flex;position:relative}.friends-avatar-wrap .status-pip{border:2px solid var(--color-sidebar);width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.compact-button{white-space:nowrap;width:auto;min-width:0;min-height:34px;padding:0 10px}.friends-overview{background:var(--color-canvas);flex:1;min-height:0;padding:28px 30px;overflow-y:auto}.friends-overview-header,.friends-section-header{justify-content:left;align-items:center;display:flex}.friends-overview-header{margin-bottom:22px}.friends-overview-header h2,.friends-section h3{margin:0}.friends-title-group{gap:4px;min-width:0;display:grid}.friends-subtitle{color:var(--color-muted);margin:0;font-size:.92rem}.friends-count-pill{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:34px;color:var(--color-muted-strong);background:color-mix(in srgb, var(--color-text) 3%, transparent);white-space:nowrap;align-items:center;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.primary-action-button{border-radius:var(--radius-control);min-height:42px;color:var(--color-on-accent);background:var(--color-accent);border:0;padding:0 14px;font-weight:800}.friends-section{min-width:0;margin-top:22px}.friends-section-header{color:var(--color-text);margin-bottom:10px}.friends-section-header span{min-width:28px;height:28px;color:var(--color-muted-strong);background:var(--color-row-hover);border-radius:999px;place-items:center;font-size:.8rem;font-weight:900;display:inline-grid}.friend-list,.add-friends-list{gap:8px;display:grid}.friends-table{background:0 0;border:0;border-radius:0;gap:0;overflow:hidden}.friends-table-head,.friends-table .friend-row{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto;align-items:center;column-gap:18px;display:grid}.friends-table-head{border-bottom:1px solid var(--color-border-soft);min-height:34px;color:var(--color-muted);text-transform:uppercase;padding:0 10px;font-size:.72rem;font-weight:850}.friend-row{border:1px solid var(--color-border-soft);border-radius:var(--radius-row);background:var(--color-row);min-width:0;padding:10px}.friends-table .friend-row{background:0 0;border:0;border-radius:0;min-height:58px}.friends-table .friend-row+.friend-row{border-top:1px solid var(--color-border-soft)}.friends-table .friend-row:hover{background:var(--color-row-hover)}.friend-identity-button{min-width:0;color:var(--color-muted-strong);font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;display:flex}.friend-identity-button:hover strong{color:var(--color-text);text-decoration:underline}.friend-identity-button span{gap:2px;min-width:0;display:grid}.friend-identity-button strong,.friend-identity-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-identity-button small,.home-muted{color:var(--color-muted);font-size:.82rem}.friend-row,.dm-home-row{align-items:center;gap:8px;min-width:0;display:flex}.friends-table .friend-row{display:grid}.friend-status{min-width:0;color:var(--color-muted-strong);align-items:center;gap:8px;font-size:.9rem;display:flex}.friend-status span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-dot{background:var(--color-muted);border-radius:999px;flex:none;width:8px;height:8px}.status-dot.online{background:var(--color-success)}.dm-home-row{border-radius:var(--radius-row);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) max-content;align-items:center;column-gap:10px;min-height:44px;padding:7px 8px;display:grid}.dm-home-row-button,.friend-row-click-target{cursor:pointer}.dm-home-row:hover,.dm-home-row.active{background:var(--color-row-hover)}.dm-home-row.active{box-shadow:inset 3px 0 0 var(--color-accent)}.dm-home-row.unread .dm-open-button strong{color:var(--color-text);font-weight:850}.dm-row-meta{place-self:start end;align-items:center;gap:8px;display:inline-flex}.dm-profile-button{background:0 0;border:0;border-radius:999px;flex:none;padding:0;display:grid}.dm-profile-button:disabled{cursor:default;opacity:.5}.dm-open-button{min-width:0;color:var(--color-muted-strong);text-align:left;justify-items:start;gap:2px;display:grid;overflow:hidden}.dm-home-row-button:hover .dm-open-button strong,.friend-row-click-target:hover .friend-identity-button strong{color:var(--color-text)}.dm-home-row-button:focus-visible,.friend-row-click-target:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.dm-row-time{min-width:max-content;color:var(--color-muted);text-align:right;white-space:nowrap;place-self:start end;padding-left:8px;font-size:.78rem}.dm-open-button strong,.dm-open-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dm-open-button small{color:var(--color-muted);font-size:.75rem}.friend-row-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.friend-row-actions .secondary-button,.friend-row>.secondary-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:34px;color:var(--color-muted-strong);background:var(--color-canvas-soft);padding:0 10px;font-weight:800}.friend-row-actions .secondary-button:hover,.friend-row>.secondary-button:hover{border-color:var(--color-accent-strong);color:var(--color-text)}.friend-row-actions .secondary-button:disabled,.friend-row>.secondary-button:disabled{cursor:not-allowed;opacity:.55}.add-friends-dialog{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(560px,100%);max-height:min(720px,100dvh - 32px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.add-friends-list{min-height:0;padding:14px;overflow-y:auto}.public-profile-actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}@media (width<=900px){.friends-overview-header{flex-direction:column;align-items:flex-start;gap:10px}.friends-add-button{align-self:flex-start}}.friends-section-header{align-items:center;gap:10px}.friends-section-header .friends-count-pill{margin:0}.friends-count-pill{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:20px;color:var(--color-muted-strong);background:color-mix(in srgb, var(--color-text) 5%, transparent);justify-content:center;align-items:center;padding:2px 8px;font-size:.82rem;font-weight:800;display:inline-flex}.friends-table{gap:8px;display:grid}.friends-table-head,.friends-table .friend-row{grid-template-columns:minmax(220px,2fr) minmax(110px,.9fr) minmax(180px,1.3fr);align-items:center;gap:12px;min-width:0;display:grid}.friend-identity-button{justify-content:flex-start;gap:8px;min-width:0}.friend-identity-button span,.friend-identity-button strong,.friend-status{min-width:0}.friend-identity-button strong,.friend-identity-button small,.friend-status span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-status{align-items:center;gap:8px;display:inline-flex}.friend-status .status-dot{flex:none}.friend-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.fm-hub-shell{background:var(--color-canvas);flex-direction:column;grid-column:2/-1;min-width:0;min-height:0;display:flex;overflow:hidden}.fm-hub-header{border-bottom:1px solid var(--color-border);background:var(--color-canvas-soft);flex-wrap:wrap;flex:none;align-items:center;gap:12px 16px;padding:18px 24px;display:flex}.fm-hub-header-brand{flex:180px;gap:4px;min-width:0;display:grid}.fm-hub-header h1,.fm-section h3,.fm-empty-state h2,.fm-access-panel h1,.fm-tactics-placeholder h2{letter-spacing:0;margin:0}.fm-hub-header h1{font-size:1.45rem}.fm-hub-header p,.fm-card p,.fm-record-card p,.fm-empty-state p,.fm-access-panel p,.fm-tactics-placeholder p{color:var(--color-muted);margin:0;line-height:1.45}.fm-banner{flex:none;margin:12px 24px 0}.fm-hub-body{flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.fm-detail-panel{min-width:0;min-height:0;padding:22px 24px calc(28px + env(safe-area-inset-bottom));overflow-y:auto}.fm-team-switcher{flex:220px;min-width:0;max-width:320px;position:relative}.fm-team-switcher-trigger{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-row);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-weight:800;display:flex}.fm-team-switcher-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fm-team-switcher-menu{z-index:20;border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;gap:4px;width:min(100%,320px);max-height:min(60vh,420px);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 28px #00000047}.fm-team-switcher-option{width:100%;color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:4px;padding:10px 12px;display:grid}.fm-team-switcher-option:hover{background:var(--color-row-hover)}.fm-team-switcher-option.active{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-row))}.fm-team-switcher-option strong,.fm-team-switcher-option span{overflow-wrap:anywhere;min-width:0}.fm-team-switcher-option span{color:var(--color-muted);font-size:.78rem}.fm-team-switcher-create{border:1px dashed var(--color-border);min-height:40px;color:var(--color-text);background:0 0;border-radius:6px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:flex}.fm-team-switcher-create:hover{border-color:var(--color-accent);color:var(--color-accent)}.fm-view-switcher{flex:auto;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.fm-view-switch{border:1px solid var(--color-border);min-height:38px;color:var(--color-muted-strong);background:var(--color-canvas);border-radius:999px;flex:none;padding:0 14px;font-weight:850}.fm-view-switch:disabled{opacity:.45;cursor:not-allowed}.fm-view-switch.active{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 22%, var(--color-row))}.fm-team-overflow{flex:none;position:relative}.fm-team-overflow-trigger{border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-muted-strong);background:var(--color-row);border-radius:8px;place-items:center;display:inline-grid}.fm-team-overflow-menu{z-index:20;border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;gap:6px;width:min(280px,100vw - 24px);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000047}.fm-team-overflow-summary{border-bottom:1px solid var(--color-border-soft);gap:4px;padding:8px 10px;display:grid}.fm-team-overflow-summary strong,.fm-team-overflow-summary span{overflow-wrap:anywhere;min-width:0}.fm-team-overflow-summary span{color:var(--color-muted);font-size:.82rem}.fm-team-overflow-item{width:100%;min-height:38px;color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:800}.fm-team-overflow-item:hover{background:var(--color-row-hover)}.fm-team-overflow-item--danger{color:color-mix(in srgb, var(--color-danger-border) 70%, var(--color-text))}.fm-create-team-overlay{z-index:40}.fm-create-team-dialog{border:1px solid var(--color-border);background:var(--color-row);border-radius:10px;gap:16px;width:min(480px,100vw - 32px);padding:18px;display:grid}.fm-create-team-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fm-create-team-header h2{color:var(--color-text);margin:0;font-size:1.15rem}.fm-card,.fm-record-card,.fm-empty-state,.fm-access-panel{border:1px solid var(--color-border-soft);background:var(--color-row);border-radius:8px;min-width:0}.fm-card,.fm-empty-state,.fm-access-panel{padding:14px}.fm-access-panel{width:min(520px,100% - 32px);margin:28px auto}.fm-form{gap:12px;display:grid}.fm-form label{color:var(--color-text);gap:6px;font-size:.83rem;font-weight:800;display:grid}.fm-form input,.fm-form select,.fm-form textarea{border:1px solid var(--color-border);width:100%;min-width:0;color:var(--color-text);background:var(--color-canvas);border-radius:8px;outline:none}.fm-form input,.fm-form select{min-height:42px;padding:0 11px}.fm-form input[type=file]{min-height:46px;padding:10px}.fm-form textarea{resize:vertical;padding:10px 11px}.fm-form input:focus,.fm-form select:focus,.fm-form textarea:focus{border-color:var(--color-accent)}.fm-list-column{gap:10px;display:grid}.fm-record-card h3,.fm-record-card p{overflow-wrap:anywhere;min-width:0}.fm-small-action{width:auto;min-width:74px;min-height:34px}.fm-section{min-width:0}.fm-two-column-section{grid-template-columns:minmax(240px,.46fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.fm-record-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.fm-record-card h3{color:#fff;margin:0 0 5px;font-size:1rem}.fm-file-card{align-items:center}.fm-import-status{color:var(--color-muted);margin-top:8px;font-size:.78rem;font-weight:800;display:inline-flex}.fm-record-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fm-muted{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.45}@media (width<=900px){.fm-hub-shell{width:100%;max-width:100%;height:100dvh;min-height:100dvh;padding-top:env(safe-area-inset-top);overscroll-behavior:contain;grid-column:1;overflow:hidden auto}.fm-hub-header{flex-direction:column;align-items:stretch;gap:12px;padding:14px 12px}.fm-hub-header-brand,.fm-team-switcher,.fm-view-switcher{flex-basis:auto;width:100%;max-width:none}.fm-team-overflow{align-self:flex-end}.fm-banner{margin:10px 12px 0}.fm-hub-body{flex:none;grid-template-columns:1fr;min-height:auto;overflow:visible}.fm-detail-panel{min-height:auto;padding:12px 12px calc(20px + env(safe-area-inset-bottom));overflow:visible}.fm-record-card{grid-template-columns:1fr;align-items:stretch}.fm-two-column-section,.fm-detail-list{grid-template-columns:1fr}.fm-view-switcher{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.fm-view-switch{min-height:42px}.fm-raw-table-wrap{overflow-x:auto}.fm-small-action,.fm-record-actions,.fm-record-actions .secondary-button,.fm-record-actions .primary-action-button{width:100%}.fm-record-actions{grid-template-columns:1fr;display:grid}}.fm-player-panel{flex-direction:column;flex:auto;gap:14px;min-width:0;min-height:0;display:flex}.fm-player-panel-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.fm-player-panel-heading{align-items:flex-start;gap:12px;min-width:0;display:flex}.fm-player-score-badge{border:1px solid var(--color-border);color:#fff;font-variant-numeric:tabular-nums;background:#111722;border-radius:10px;flex-shrink:0;place-items:center;min-width:48px;height:48px;font-size:1.15rem;font-weight:900;display:inline-grid}.fm-player-score-badge.fm-score-low{color:#f07178;border-color:#f0717873}.fm-player-score-badge.fm-score-mid{color:#f0d060;border-color:#f0d06073}.fm-player-score-badge.fm-score-high{color:#7fd99a;border-color:#7fd99a73}.fm-player-panel-title-block{gap:6px;min-width:0;display:grid}.fm-player-panel-header h2{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.2rem}.fm-player-meta-line{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.4}.fm-player-chips{flex-wrap:wrap;gap:6px;display:flex}.fm-player-chip{color:#dce2ff;background:#5865f21f;border:1px solid #5865f261;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:850;display:inline-flex}.fm-player-panel-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.fm-player-nav-button{min-width:58px;min-height:34px;padding:0 10px}.fm-player-panel-body{gap:14px;min-width:0;display:grid}.fm-player-columns{align-items:stretch;gap:12px;min-width:0;display:flex}.fm-player-column{flex:1 1 0;align-content:start;gap:12px;min-width:0;display:grid}.fm-player-card-block{border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.fm-player-card-block h3{color:#fff;margin:0;font-size:.86rem;font-weight:900}.fm-player-notes{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.45}.fm-position-bars,.fm-why-bars{gap:7px;display:grid}.fm-position-bar-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.fm-position-bar-row.best .fm-position-bar-label{color:#fff;font-weight:900}.fm-position-bar-label{color:var(--color-muted);font-size:.72rem;font-weight:850}.fm-position-bar-track,.fm-why-bar-track{background:#111722;border-radius:999px;min-width:0;height:8px;overflow:hidden}.fm-position-bar-fill,.fm-why-bar-fill{background:var(--color-accent);border-radius:999px;height:100%;display:block}.fm-position-bar-fill.fm-score-low,.fm-why-bar-fill.fm-attr-low{background:#f07178}.fm-position-bar-fill.fm-score-mid,.fm-why-bar-fill.fm-attr-mid{background:#f0d060}.fm-position-bar-fill.fm-score-high,.fm-why-bar-fill.fm-attr-high{background:#7fd99a}.fm-position-bar-score{color:var(--color-muted-strong);font-variant-numeric:tabular-nums;justify-self:end;font-size:.78rem;font-weight:900}.fm-position-bar-score.fm-score-low{color:#f07178}.fm-position-bar-score.fm-score-mid{color:#f0d060}.fm-position-bar-score.fm-score-high{color:#7fd99a}.fm-why-bar-row{gap:4px;display:grid}.fm-why-bar-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.fm-why-bar-label{color:#dce2ee;overflow-wrap:anywhere;min-width:0;font-size:.76rem;font-weight:850}.fm-why-bar-meta{color:var(--color-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem;font-weight:800}.fm-player-raw-details{border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;min-width:0;padding:12px}.fm-player-raw-details summary{cursor:pointer;color:#fff;font-size:.86rem;font-weight:900;list-style-position:outside}.fm-player-raw-details[open] summary{margin-bottom:10px}.fm-detail-list-compact{margin-bottom:0}@media (width<=1200px){.fm-player-columns{flex-wrap:wrap}.fm-player-column{flex:calc(50% - 6px)}}@media (width<=760px){.fm-player-columns{flex-direction:column}.fm-player-column{flex:auto}.fm-player-panel-header{flex-direction:column}.fm-player-panel-actions{justify-content:flex-end;width:100%}}.fm-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.fm-detail-list div,.fm-attribute-grid span{border:1px solid var(--color-border);background:#111722;border-radius:8px;gap:3px;min-width:0;padding:10px;display:grid}.fm-detail-list dt{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:850}.fm-detail-list dd{color:#fff;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:800}.fm-attribute-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-content:start;gap:8px;display:grid}.fm-attribute-grid span{color:var(--color-muted);text-transform:uppercase;align-content:start;font-size:.74rem;font-weight:800}.fm-attribute-grid strong{color:#fff;font-size:1.05rem}.fm-attribute-grid strong.fm-attr-low{color:#f07178}.fm-attribute-grid strong.fm-attr-mid{color:#fff}.fm-attribute-grid strong.fm-attr-high{color:#7fd99a}.fm-attribute-grid strong.fm-attr-yellow{color:#f0d060}.fm-attribute-grid strong.fm-attr-card-red{color:#f07178}.fm-raw-table-wrap{border:1px solid var(--color-border);border-radius:8px;min-width:0;overflow-x:auto}.fm-raw-table{border-collapse:collapse;background:#111722;width:100%;min-width:0}.fm-raw-table th,.fm-raw-table td{border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left;overflow-wrap:anywhere;padding:9px 10px}.fm-raw-table th{width:42%;color:var(--color-muted);font-size:.76rem;font-weight:850}.fm-raw-table td{color:#fff;font-size:.82rem}.fm-raw-table tr:last-child th,.fm-raw-table tr:last-child td{border-bottom:0}.fm-squad-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:0;min-width:0;min-height:0;display:grid}.fm-squad-table-panel{border-right:1px solid var(--color-border);flex-direction:column;gap:10px;min-width:0;min-height:0;padding-right:14px;display:flex;overflow:hidden}.fm-squad-table-toolbar{gap:10px;display:grid}.fm-squad-search{color:#dce2ee;gap:6px;font-size:.78rem;font-weight:800;display:grid}.fm-squad-search input{color:#fff;background:#111722;border:1px solid #3a4256;border-radius:8px;outline:none;width:100%;min-height:38px;padding:0 11px}.fm-squad-search input:focus{border-color:var(--color-accent)}.fm-squad-count{font-size:.78rem}.fm-squad-fit-legend{color:var(--color-muted);margin:0;font-size:.72rem;line-height:1.35}.fm-squad-table-wrap{flex:auto;min-height:0;overflow:auto}.fm-squad-data-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.8rem}.fm-squad-data-table thead th{z-index:1;border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-canvas);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:6px 8px;font-size:.68rem;font-weight:850;position:sticky;top:0}.fm-squad-sort-button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.fm-squad-sort-button.active{color:#fff}.fm-squad-data-table tbody td,.fm-squad-data-table tbody th{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:8px}.fm-squad-data-row:hover td,.fm-squad-data-row:hover th{background:var(--color-row-hover)}.fm-squad-data-row.selected td,.fm-squad-data-row.selected th{box-shadow:inset 3px 0 0 var(--color-accent);background:#c628281a}.fm-squad-player-button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;font-size:.84rem;font-weight:900;display:block}.fm-squad-col-numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.fm-squad-col-numeric.fm-score-low{color:#f07178}.fm-squad-col-numeric.fm-score-mid{color:#f0d060}.fm-squad-col-numeric.fm-score-high{color:#7fd99a}.fm-squad-empty-row td{padding:12px 4px}.fm-squad-empty{padding:0}.fm-squad-rail{border-right:1px solid var(--color-border);flex-direction:column;gap:10px;min-width:0;min-height:0;padding-right:14px;display:flex;overflow:hidden}.fm-squad-rail-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fm-squad-rail-heading{gap:2px;display:grid}.fm-squad-rail-eyebrow{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:850}.fm-squad-rail-header h3{color:#fff;margin:0;font-size:.92rem}.fm-squad-rail-clear{min-height:32px;padding:0 10px;font-size:.78rem}.fm-squad-rail-count{font-size:.78rem}.fm-squad-rail-list{gap:2px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.fm-squad-rail-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.fm-squad-rail-item:hover{background:var(--color-row-hover)}.fm-squad-rail-item.selected{box-shadow:inset 3px 0 0 var(--color-accent);background:#c628281a;border-color:#c6282873}.fm-squad-rail-name{color:#fff;overflow-wrap:anywhere;min-width:0;font-size:.84rem;font-weight:850}.fm-squad-rail-fit{color:var(--color-muted-strong);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.86rem;font-weight:900}.fm-squad-rail-fit.fm-score-low{color:#f07178}.fm-squad-rail-fit.fm-score-mid{color:#f0d060}.fm-squad-rail-fit.fm-score-high{color:#7fd99a}.fm-squad-rail-empty{padding:12px 4px}.fm-player-summary{border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px 14px;margin:0;padding:12px;display:grid}.fm-player-summary>div{gap:4px;display:grid}.fm-player-summary dt{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:850}.fm-player-summary dd{color:#fff;font-variant-numeric:tabular-nums;margin:0;font-size:.92rem;font-weight:900}.fm-player-summary dd.fm-score-low{color:#f07178}.fm-player-summary dd.fm-score-mid{color:#f0d060}.fm-player-summary dd.fm-score-high{color:#7fd99a}.fm-player-summary-note{grid-column:1/-1}.fm-player-ineligible-positions{border:1px solid var(--color-border);background:var(--color-canvas-soft);border-radius:8px;min-width:0;padding:12px}.fm-player-ineligible-positions summary{cursor:pointer;color:var(--color-muted);font-size:.82rem;font-weight:850}.fm-player-ineligible-positions[open] summary{margin-bottom:10px}.fm-position-bars-ineligible .fm-position-bar-fill{opacity:.45}.fm-squad-detail{flex-direction:column;flex:auto;min-width:0;min-height:0;padding:12px 0 12px 18px;display:flex;overflow-y:auto}@media (width<=900px){.fm-squad-layout{grid-template-columns:1fr}.fm-squad-table-panel{border-right:0;border-bottom:1px solid var(--color-border);max-height:min(52vh,520px);padding-bottom:14px;padding-right:0}.fm-squad-detail{padding:14px 0 0}}.fm-tactics-placeholder{gap:10px;max-width:640px;display:grid}.fm-tactics-layout{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;min-width:0;min-height:0;display:grid}.fm-tactics-layout--rail{grid-template-columns:minmax(200px,.42fr) minmax(0,1fr)}.fm-tactics-layout--rail .fm-squad-rail{max-height:min(78vh,820px)}.fm-tactics-board{align-content:start;gap:14px;min-width:0;padding-left:0;display:grid}.fm-tactics-layout--rail .fm-tactics-board{padding-left:18px}.fm-tactics-toolbar{flex-wrap:wrap;align-items:end;gap:12px 14px;display:flex}.fm-tactics-formation{min-width:140px;color:var(--color-muted-strong);gap:6px;font-size:.78rem;font-weight:800;display:grid}.fm-tactics-formation select{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:38px;color:var(--color-text);background:var(--color-canvas);outline:none;padding:0 11px}.fm-tactics-formation select:focus{border-color:var(--color-accent)}.fm-tactics-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.fm-tactics-action{width:auto;min-height:38px;padding:0 12px}.fm-tactics-average-fit{color:var(--color-muted);margin:0 0 2px auto;font-size:.86rem;font-weight:800}.fm-tactics-average-fit strong{color:var(--color-text);font-variant-numeric:tabular-nums}.fm-pitch{aspect-ratio:68/105;border:1px solid var(--color-border);border-radius:var(--radius-control);background:linear-gradient(180deg, color-mix(in srgb, var(--color-success) 28%, var(--color-canvas)) 0%, color-mix(in srgb, var(--color-success) 18%, var(--color-canvas-soft)) 50%, color-mix(in srgb, var(--color-success) 26%, var(--color-canvas)) 100%);width:100%;max-width:720px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-border-soft) 80%, transparent);margin:0 auto;position:relative;overflow:hidden}.fm-pitch-markings{border:2px solid color-mix(in srgb, var(--color-on-accent) 28%, transparent);pointer-events:none;border-radius:4px;position:absolute;inset:6%}.fm-pitch-markings:before{content:"";border-top:2px solid color-mix(in srgb, var(--color-on-accent) 28%, transparent);position:absolute;top:50%;left:0;right:0}.fm-pitch-markings:after{content:"";aspect-ratio:1;border:2px solid color-mix(in srgb, var(--color-on-accent) 28%, transparent);border-radius:var(--radius-pill);width:22%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fm-tactic-slot{z-index:var(--z-raised);border:1px solid var(--color-border);width:min(86px,22%);min-height:54px;color:var(--color-text);background:color-mix(in srgb, var(--color-canvas-soft) 88%, transparent);text-align:center;cursor:pointer;border-radius:8px;align-content:center;justify-items:center;gap:1px;padding:6px 6px 7px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #00000047}.fm-tactic-slot:hover{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));background:var(--color-row-hover)}.fm-tactic-slot:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-tactic-slot--selected{border-color:color-mix(in srgb, var(--color-accent) 70%, transparent);background:color-mix(in srgb, var(--color-accent) 18%, var(--color-row));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 45%, transparent)}.fm-tactic-slot--empty{color:var(--color-muted-strong)}.fm-tactic-slot-code{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:850}.fm-tactic-slot-name{max-width:100%;color:var(--color-text);overflow-wrap:anywhere;font-size:.74rem;font-weight:900;line-height:1.15}.fm-tactic-slot-fit{color:var(--color-muted-strong);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.fm-tactic-slot-fit.fm-score-low{color:var(--color-warning)}.fm-tactic-slot-fit.fm-score-mid{color:var(--color-caution)}.fm-tactic-slot-fit.fm-score-high{color:var(--color-success)}.fm-tactic-slot-empty-label{color:var(--color-muted);font-size:.68rem;font-weight:800}.fm-slot-picker-overlay{z-index:var(--z-overlay);align-items:end;display:grid;position:fixed;inset:0}.fm-slot-picker-backdrop{background:color-mix(in srgb, var(--color-canvas) 62%, transparent);cursor:pointer;border:0;padding:0;position:absolute;inset:0}.fm-slot-picker-sheet{z-index:var(--z-raised);width:100%;max-height:min(78dvh,640px);padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));border:1px solid var(--color-border);background:var(--color-canvas-soft);box-shadow:var(--shadow-overlay);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.fm-slot-picker-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fm-slot-picker-heading{gap:2px;display:grid}.fm-slot-picker-eyebrow{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:850}.fm-slot-picker-header h2{color:var(--color-text);margin:0;font-size:1rem}.fm-slot-picker-close{min-height:34px;padding:0 12px}.fm-slot-picker-count{font-size:.78rem}.fm-slot-picker-clear-assignment{width:100%;min-height:38px}.fm-slot-picker-list{padding:0 0 env(safe-area-inset-bottom);gap:2px;margin:0;list-style:none;display:grid;overflow-y:auto}.fm-slot-picker-item{width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.fm-slot-picker-item:hover,.fm-slot-picker-item:focus-visible{background:var(--color-row-hover)}.fm-slot-picker-name{min-width:0;color:var(--color-text);overflow-wrap:anywhere;font-size:.9rem;font-weight:850}.fm-slot-picker-fit{color:var(--color-muted-strong);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9rem;font-weight:900}.fm-slot-picker-fit.fm-score-low{color:var(--color-warning)}.fm-slot-picker-fit.fm-score-mid{color:var(--color-caution)}.fm-slot-picker-fit.fm-score-high{color:var(--color-success)}.fm-slot-picker-empty{padding:12px 4px}@media (width<=900px){.fm-tactics-layout,.fm-tactics-layout--rail{grid-template-columns:1fr}.fm-tactics-layout--rail .fm-tactics-board{padding-left:0}.fm-tactics-toolbar{flex-direction:column;align-items:stretch}.fm-tactics-average-fit{margin:0}.fm-tactics-toolbar-actions,.fm-tactics-action{width:100%}.fm-pitch{max-width:none}.fm-tactic-slot{width:min(78px,24%);min-height:48px;padding:5px 4px 6px}}.chat-panel{background:var(--color-canvas);min-width:0;min-height:0;transition:background var(--motion-fast) ease;flex-direction:column;display:flex}.chat-header{border-bottom:1px solid var(--color-border);background:var(--color-canvas-soft);min-height:72px;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;align-items:center;gap:12px;padding:14px 24px;display:flex}.chat-header .chat-title{flex:1;min-width:0}.chat-header h2{color:var(--color-text);margin:0;font-size:1.2rem}.chat-header p,.chat-header .eyebrow{color:var(--color-muted);margin:0}.error-banner{border:1px solid var(--color-danger-border);border-radius:var(--radius-control);color:var(--color-danger-text);background:var(--color-danger-surface);overflow-wrap:anywhere;margin:14px 24px 0;padding:10px 12px}.notice-banner{border:1px solid var(--color-success);border-radius:var(--radius-control);color:var(--color-success-text);background:var(--color-success-surface);overflow-wrap:anywhere;margin:14px 24px 0;padding:10px 12px}.e2ee-fingerprint{font-family:var(--font-mono,ui-monospace, monospace);word-break:break-word;font-size:.85rem}.e2ee-key-change-banner{gap:8px;display:grid}.e2ee-key-change-banner p{margin:0}.e2ee-key-change-accept{justify-self:start}.e2ee-key-change-accept:focus-visible{box-shadow:var(--focus-ring);outline:none}.pinned-messages-bar{border-bottom:1px solid var(--color-border);margin:0 24px;padding:10px 0 0}.pinned-messages-bar-toggle{border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;color:var(--color-text);background:var(--color-canvas-soft);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:8px 10px;display:flex}.pinned-messages-bar-toggle:hover{background:var(--color-hover)}.pinned-messages-list{gap:6px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.pinned-message-item{border-radius:var(--radius-control);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;padding:8px 10px;display:grid}.pinned-message-item:hover{border-color:var(--color-border);background:var(--color-hover)}.pinned-message-item strong{color:var(--color-text);font-size:.86rem}.pinned-message-item span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.message-list,.workspace-landing{background:var(--color-canvas);min-height:0;transition:background var(--motion-fast) ease;flex:1;padding:22px 28px;overflow-y:auto}.empty-state{border:1px solid var(--color-border-soft);border-radius:var(--radius-row);max-width:460px;color:var(--color-muted-strong);background:var(--color-row);transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;margin-top:10vh;padding:22px}.empty-state h3{color:var(--color-text);margin-bottom:8px;font-size:1.45rem}.empty-state p{margin:0;line-height:1.6}.message-list-shell{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.message-list-shell .message-list{flex:1}.message{border-radius:var(--radius-row);transition:background var(--motion-fast) ease;align-items:flex-start;gap:12px;margin:0 -10px;padding:11px 10px;display:flex;position:relative}.message-row--grouped{padding-top:2px;padding-bottom:2px}.message-row-gutter{place-items:start center;width:40px;min-width:40px;padding-top:4px;display:grid}.message-hover-time{color:var(--color-muted);opacity:0;transition:opacity var(--motion-fast) ease;font-size:.68rem}.message-row--grouped:hover .message-hover-time,.message-row--grouped:focus-within .message-hover-time{opacity:1}.message-row--dm{background:0 0;gap:4px;width:min(640px,100%);max-width:85%}.message-list-virtual-row{width:100%;position:absolute;left:0}.message-list-virtual-row:has(.message)+.message-list-virtual-row>.message-row--dm{border-top:0}.message-row--own{flex-direction:row-reverse;max-width:85%;margin-left:auto}.message-main,.dm-message-column{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.message-row--own .message-content,.message-row--dm .dm-message-bubble{padding:8px 12px;background:color-mix(in srgb, var(--color-row) 88%, transparent);border-radius:16px;width:100%;padding-inline-end:28px;position:relative}.message-row--own .dm-message-bubble{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-row));padding-inline:28px 12px}.message-row--highlight:not(.message-row--dm){background:color-mix(in srgb, var(--color-accent) 16%, transparent)}.message-row--dm.message-row--highlight .dm-message-bubble{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-accent) 45%, transparent)}.dm-message-footer{justify-content:flex-end;align-items:baseline;gap:8px;margin-top:2px;display:flex}.dm-message-footer time{color:var(--color-muted);white-space:nowrap;font-size:.72rem;line-height:1}.message-menu--dm{z-index:var(--z-raised);margin:0;position:absolute;top:4px;right:4px}.message-row--own .message-menu--dm{left:4px;right:auto}.timeline-date,.timeline-unread{place-items:center;margin:14px 0 10px;display:grid}.timeline-date span,.timeline-unread span{border-radius:var(--radius-pill);letter-spacing:.04em;padding:4px 10px;font-size:.72rem;font-weight:800}.timeline-date span{color:var(--color-muted-strong);background:var(--color-row);border:1px solid var(--color-border-soft)}.timeline-unread span{color:var(--color-on-accent);background:var(--color-accent)}.message-skeleton{flex-direction:column;gap:10px;padding:8px 0 14px;display:flex}.message-skeleton-row{border-radius:var(--radius-row);background:var(--color-row);height:42px;animation:1.2s ease-in-out infinite message-skeleton-pulse}@keyframes message-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.message-skeleton-row{animation:none}}.jump-to-latest{right:18px;bottom:calc(var(--composer-clearance) + 8px);z-index:var(--z-sticky);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-canvas-soft);box-shadow:var(--shadow-panel);padding:8px 14px;font-size:.82rem;font-weight:700;position:absolute}.jump-to-latest:focus-visible{box-shadow:var(--focus-ring);outline:none}.message-reply-reference{border:0;border-left:3px solid var(--color-accent);background:color-mix(in srgb, var(--color-row) 80%, transparent);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:6px;padding:6px 10px;display:flex}.message p code{background:color-mix(in srgb, var(--color-row-hover) 80%, transparent);border-radius:4px;padding:1px 5px;font-size:.92em}.message p a{color:var(--color-accent-strong)}.message:hover,.message:focus-within{background:var(--color-row-hover)}.message.message-row--dm:hover,.message.message-row--dm:focus-within{background:0 0}@media (hover:hover) and (pointer:fine){.message-menu{opacity:0;transition:opacity var(--motion-fast) ease}.message:hover .message-menu,.message:focus-within .message-menu,.message-menu:focus-within{opacity:1}.message-menu:has(.message-menu-button[aria-expanded=true]){opacity:1}.message-reactions--populated .add-reaction-button{opacity:1}.message-row--dm .message-menu--dm{opacity:0}.message-row--dm:hover .message-menu--dm,.message-row--dm:focus-within .message-menu--dm,.message-row--dm .message-menu--dm:focus-within{opacity:1}.message-row--dm .message-menu--dm:has(.message-menu-button[aria-expanded=true]){opacity:1}}.message>div{min-width:0}.message-list-virtual-row:has(.message)+.message-list-virtual-row>.message:not(.message-row--grouped){border-top:1px solid var(--color-border-soft)}.older-messages-status{width:100%;color:var(--color-muted);text-align:center;overflow-wrap:anywhere;padding:8px 0 12px;font-size:.82rem;font-weight:700}.message-meta{align-items:baseline;gap:8px;min-width:0;margin-bottom:4px;display:flex}.message-meta strong{color:var(--color-text)}.message-meta .message-author-button{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:100%;overflow:hidden}.message-meta time{color:var(--color-muted);white-space:nowrap;flex:none;font-size:.78rem}.message p{color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.5}.message-content{flex:1;min-width:0;position:relative}.edited-indicator{color:var(--color-muted);font-size:.78rem}.message-pin-glyph{color:var(--color-muted);align-items:center;display:inline-flex}.message-pin-glyph .ui-icon{width:.9rem;height:.9rem}.message-menu{flex:none;margin-left:auto;position:relative}.message-menu-button{border:1px solid var(--color-border);border-radius:var(--radius-control);width:30px;height:30px;color:var(--color-muted-strong);background:var(--color-canvas-soft);padding:0;font-size:1rem;font-weight:900;line-height:1}.message-menu-button:hover,.message-menu-button[aria-expanded=true]{border-color:var(--color-accent-strong);color:var(--color-text)}.message-menu-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.message-edit-form button{border:1px solid var(--color-border);min-height:28px;color:var(--color-muted-strong);background:var(--color-canvas-soft);border-radius:6px;padding:0 8px;font-size:.76rem;font-weight:700}.message-edit-form button:hover{border-color:var(--color-accent-strong);color:var(--color-text)}.message-menu-button:disabled,.message-edit-form button:disabled,.message-edit-form .message-edit-input:disabled{cursor:not-allowed;opacity:.5}.message-edit-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:8px;max-width:720px;display:grid}.message-edit-form .message-edit-input{border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;min-height:34px;max-height:160px;color:var(--color-text);background:var(--color-canvas-soft);resize:none;field-sizing:content;font:inherit;outline:none;padding:6px 10px;line-height:1.4;overflow-y:auto}.message-edit-form .message-edit-input:focus{border-color:var(--color-accent-strong)}.message-edit-form .message-edit-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.message-image,.message-gif{border:1px solid var(--color-border);border-radius:var(--radius-control);object-fit:contain;background:var(--color-canvas-soft);width:auto;max-width:min(100%,560px);max-height:min(52vh,520px);margin-top:10px;display:block}.message-gif,.dm-message-gif{max-height:min(50vh,460px)}.dm-message-gif{border:1px solid var(--color-border);border-radius:var(--radius-control);object-fit:contain;background:var(--color-canvas-soft);width:auto;max-width:100%;margin-top:8px;display:block}.message-file-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:min(100%,480px);margin-top:10px;padding:10px;display:grid}.message-file-icon{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 18%, transparent);place-items:center;display:inline-grid}.message-file-summary{gap:2px;min-width:0;display:grid}.message-file-summary strong,.message-file-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-file-summary strong{color:var(--color-text);font-size:.92rem}.message-file-summary span{color:var(--color-muted-strong);font-size:.78rem}.message-file-download-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:32px;color:var(--color-text);background:var(--color-canvas-soft);transition:background var(--motion-fast) ease;padding:0 10px;font-size:.82rem;font-weight:800}.message-file-download-button:hover:not(:disabled){background:var(--color-row-hover)}.message-reply-reference,.reply-compose-preview{border-left:3px solid var(--color-accent-strong);color:var(--color-muted-strong);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.message-reply-reference{border-radius:0 8px 8px 0;gap:2px;max-width:680px;margin:0 0 8px;padding:7px 10px;font-size:.84rem;display:grid}.message-reply-reference strong{color:var(--color-text)}.message-reply-reference span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-reactions{flex-wrap:wrap;gap:5px;min-height:0;margin-top:0;display:flex}.message-reactions--populated{margin-top:8px}.message-reaction-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:32px;height:28px;color:var(--color-muted-strong);background:var(--color-row);justify-content:center;align-items:center;gap:4px;padding:0 7px;font-size:.82rem;font-weight:800;display:inline-flex}.custom-emoji{vertical-align:-.2em;object-fit:contain;width:1.25em;height:1.25em}.message-reaction-button .custom-emoji{vertical-align:middle;width:1.1em;height:1.1em}.message-reaction-button:hover{border-color:var(--color-accent-strong);color:var(--color-text);background:var(--color-row-hover)}.message-reaction-button.active{border-color:var(--color-accent-strong);color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.message-reaction-button:disabled{cursor:not-allowed;opacity:.52}.reaction-menu{position:relative}.add-reaction-button{min-width:34px}.emoji-picker{z-index:var(--z-dropdown);border:1px solid var(--color-border);border-radius:var(--radius-control);width:min(360px,100vw - 32px);max-height:min(440px,62vh);color:var(--color-muted-strong);background:var(--color-canvas-soft);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;position:absolute;overflow:hidden}.emoji-picker-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.emoji-picker-header strong{color:var(--color-text);font-size:.9rem}.emoji-picker-header button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:30px;color:var(--color-muted-strong);background:var(--color-canvas-soft);padding:0 9px;font-size:.78rem;font-weight:800}.emoji-picker-search{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:38px;color:var(--color-text);background:var(--color-row);outline:none;margin:10px;padding:0 10px}.emoji-picker-search:focus{border-color:var(--color-accent-strong)}.emoji-picker-search:focus-visible{box-shadow:var(--focus-ring);outline:none}.emoji-picker-body{gap:12px;padding:0 10px 10px;display:grid;overflow-y:auto}.emoji-picker-category{gap:6px;display:grid}.emoji-picker-category p,.emoji-picker-empty{color:var(--color-muted);overflow-wrap:anywhere;font-size:.76rem;font-weight:800}.emoji-picker-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px;display:grid}.emoji-picker-grid button{border-radius:var(--radius-control);width:100%;min-width:0;height:34px;color:var(--color-text);transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;border:1px solid #0000;place-items:center;font-size:1.14rem;line-height:1;display:grid}.emoji-picker-grid button:hover,.emoji-picker-header button:hover{border-color:var(--color-accent-strong);background:var(--color-row-hover)}.reaction-picker{width:min(340px,100vw - 32px);position:static}.reaction-picker-anchor{z-index:var(--z-dropdown)}.message-input-shell{flex:none;position:relative}.message-input-emoji-picker{bottom:calc(100% + 8px);right:24px}.typing-indicator{min-height:22px;color:var(--color-muted-strong);padding:0 24px;font-size:.86rem}.reply-compose-preview{border-radius:0 8px 8px 0;justify-content:space-between;align-items:center;gap:12px;margin:0 24px 10px;padding:9px 12px;display:flex}.reply-compose-preview span{color:var(--color-text);font-size:.82rem;font-weight:800}.reply-compose-preview p{color:var(--color-muted-strong);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.86rem;overflow:hidden}.reply-compose-preview button{border:1px solid var(--color-border);min-height:30px;color:var(--color-muted-strong);background:var(--color-canvas-soft);border-radius:6px;padding:0 9px;font-weight:800}.message-form{border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);background:var(--color-row);box-shadow:none;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;flex:none;align-items:center;gap:2px;margin:0 24px 20px;padding:5px;display:flex}[data-density=compact] .message-form{padding:4px}.app-shell-slot[data-slot=composer] .message-form{margin:12px 24px 20px}.message-form:focus-within{border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));background:var(--color-canvas-soft)}.dm-message-form{display:flex}.message-form input,.auth-card input,.profile-form input,.admin-section input,.admin-section select{border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;color:var(--color-text);background:var(--color-canvas-soft);outline:none}.message-form input,.profile-form input{min-height:46px;padding:0 14px}.message-form input:focus,.auth-card input:focus,.profile-form input:focus,.admin-section input:focus,.admin-section select:focus{border-color:var(--color-accent-strong)}.message-form input:focus-visible,.auth-card input:focus-visible,.profile-form input:focus-visible,.admin-section input:focus-visible,.admin-section select:focus-visible{box-shadow:var(--focus-ring);outline:none}.message-form button{border-radius:var(--radius-control);min-height:46px;color:var(--color-on-accent);background:var(--color-accent);border:0;padding:0 18px;font-weight:800}.message-form .media-picker-button{color:var(--color-muted-strong);background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:7px;display:inline-flex}.message-form .composer-action:hover,.message-form .composer-action[aria-expanded=true]{color:var(--color-text);background:color-mix(in srgb, var(--color-text) 8%, transparent);border-color:#0000}.composer-input-pill{background:0 0;border:0;border-radius:0;flex:auto;align-items:center;min-width:0;min-height:40px;display:flex;overflow:hidden}.composer-input-pill:focus-within{border-color:#0000}.message-form .composer-input-pill input,.message-form .composer-input-pill textarea{resize:none;min-width:0;min-height:40px;max-height:160px;color:var(--color-text);font:inherit;background:0 0;border:0;border-radius:0;flex:auto;padding:8px 6px 8px 4px;line-height:1.4}.message-form .composer-input-pill input:focus,.message-form .composer-input-pill textarea:focus{border-color:#0000;outline:none}.message-form .composer-input-pill input:focus-visible,.message-form .composer-input-pill textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.message-form .composer-input-pill .emoji-trigger-button{border-radius:var(--radius-pill);width:36px;min-height:36px;color:var(--color-muted);transition:background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;flex:0 0 36px;margin-right:2px;padding:0}.message-form .composer-input-pill .emoji-trigger-button .ui-icon{stroke-width:1.9px;width:1.22em;height:1.22em}.message-form .composer-input-pill .emoji-trigger-button:hover,.message-form .composer-input-pill .emoji-trigger-button[aria-expanded=true]{color:var(--color-text);background:color-mix(in srgb, var(--color-text) 10%, transparent)}.composer-attachment{min-width:0;display:grid;position:relative}.composer-attachment-menu{z-index:var(--z-dropdown);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(220px,100vw - 32px);box-shadow:var(--shadow-panel);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.message-form .composer-attachment-menu-item{border-radius:var(--radius-control);width:100%;min-height:38px;color:var(--color-muted-strong);text-align:left;transition:background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:9px;padding:0 10px;font-size:.86rem;display:flex}.message-form .composer-attachment-menu-item:hover:not(:disabled){color:var(--color-text);background:var(--color-row-hover)}.message-form .composer-attachment-menu-item:disabled{color:var(--color-muted);background:0 0}.composer-gif-mark{min-width:30px;height:22px;color:var(--color-on-accent);background:color-mix(in srgb, var(--color-accent) 28%, transparent);border-radius:5px;place-items:center;font-size:.66rem;font-weight:900;display:inline-grid}.message-form .composer-send-button{border-radius:var(--radius-pill);width:36px;min-width:36px;min-height:36px;color:var(--color-muted);transition:background var(--motion-fast) ease, color var(--motion-fast) ease, opacity var(--motion-fast) ease;background:0 0;border:0;place-items:center;padding:0;font-size:1rem;display:inline-grid}.message-form .composer-send-button:hover:not(:disabled){color:var(--color-accent-strong);background:color-mix(in srgb, var(--color-accent) 16%, transparent)}.message-form .composer-send-button:disabled{color:var(--color-muted);opacity:.4;background:0 0}.composer-send-button .ui-icon{stroke:currentColor;stroke-width:2.15px;width:1.2em;height:1.2em}.message-form .composer-plus-button{border-radius:var(--radius-pill);width:40px;min-width:40px;min-height:40px;padding:0;font-size:1.05rem}.hidden-file-input,.avatar-upload-button input{display:none}.message-form button:disabled{cursor:not-allowed;opacity:.45}.message-form button:focus-visible,.message-form .media-picker-button:focus-visible,.message-form .composer-action:focus-visible,.message-form .composer-input-pill .emoji-trigger-button:focus-visible,.message-form .composer-attachment-menu-item:focus-visible,.message-form .composer-send-button:focus-visible,.message-form .composer-plus-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.gif-picker-overlay{z-index:var(--z-overlay);background:color-mix(in srgb, var(--color-canvas) 72%, transparent);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.gif-picker{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(680px,100%);max-height:min(760px,100dvh - 36px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.gif-picker-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.gif-picker-header h2{margin:2px 0 0}.gif-picker-header .secondary-button{white-space:nowrap;width:auto;min-width:72px}.gif-search-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 16px;display:grid}.gif-search-form input{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:0;min-height:42px;color:var(--color-text);background:var(--color-row);outline:none;padding:0 12px}.gif-search-form input:focus{border-color:var(--color-accent-strong)}.gif-search-form input:focus-visible{box-shadow:var(--focus-ring);outline:none}.gif-search-form button{border-radius:var(--radius-control);min-height:42px;color:var(--color-on-accent);background:var(--color-accent);border:0;padding:0 14px;font-weight:800}.gif-picker-status{color:var(--color-muted-strong);padding:0 16px 10px;font-size:.9rem}.gif-result-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;min-height:0;padding:0 16px 16px;display:grid;overflow-y:auto}.gif-result-grid button{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);min-width:0;transition:border-color var(--motion-fast) ease;padding:0;overflow:hidden}.gif-result-grid button:hover{border-color:var(--color-accent-strong)}.gif-result-grid button:disabled,.gif-search-form button:disabled{cursor:not-allowed;opacity:.55}.gif-result-grid img{object-fit:cover;width:100%;height:100%;display:block}.gif-picker-attribution{border-top:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;padding:10px 16px 14px;font-size:.78rem;font-weight:900}.emoji-trigger-button{width:38px;min-width:38px;min-height:38px;padding:0;font-size:1.1rem}.toast-host{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 24px);display:flex;position:fixed;bottom:18px;right:18px}.toast-item{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);box-shadow:var(--shadow-overlay);pointer-events:auto;align-items:center;gap:10px;padding:12px 14px;display:flex}.toast-message{min-width:0;color:var(--color-text);flex:1;font-size:.9rem;line-height:1.35}.toast-action-button,.toast-dismiss-button{color:var(--color-accent-strong);cursor:pointer;background:0 0;border:0;font-weight:700}.toast-dismiss-button{color:var(--color-muted);font-size:1.1rem;line-height:1}.app-update-banner{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-update-banner>span{flex:1;min-width:0}.confirm-dialog-backdrop{z-index:var(--z-toast);background:color-mix(in srgb, var(--color-canvas) 72%, transparent);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(420px,100%);max-height:min(80vh,640px);box-shadow:var(--shadow-overlay);padding:22px;overflow-y:auto}.confirm-dialog h2{margin:0 0 8px;font-size:1.1rem}.confirm-dialog p{color:var(--color-muted-strong);margin:0 0 18px;line-height:1.45}.confirm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-dialog-actions button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);min-height:36px;color:var(--color-text);cursor:pointer;padding:0 14px;font-weight:700}.confirm-dialog-actions .confirm-dialog-confirm-button{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.quick-switcher-backdrop{z-index:var(--z-toast);background:color-mix(in srgb, var(--color-canvas) 70%, transparent);place-items:start center;padding:12vh 18px 18px;display:grid;position:fixed;inset:0}.quick-switcher{border:1px solid var(--color-border);background:var(--color-canvas-soft);width:min(560px,100%);box-shadow:var(--shadow-overlay);border-radius:14px;overflow:hidden}.quick-switcher-search{border-bottom:1px solid var(--color-border-soft);padding:14px}.quick-switcher-input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);width:100%;min-height:42px;color:var(--color-text);font:inherit;padding:0 12px}.quick-switcher-list{max-height:min(420px,50vh);margin:0;padding:8px;list-style:none;overflow:auto}.quick-switcher-item,.quick-switcher-empty{width:100%;min-height:40px;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.quick-switcher-item--focused,.quick-switcher-item:hover{background:var(--color-row-hover)}.quick-switcher-prefix{color:var(--color-muted);font-weight:800}.quick-switcher-kind{color:var(--color-muted);text-transform:uppercase;margin-left:auto;font-size:.75rem}.message-search-panel{border-bottom:1px solid var(--color-border-soft);background:var(--color-canvas-soft);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.message-search-panel-header{gap:8px;display:flex}.message-search-panel-input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);min-height:38px;color:var(--color-text);font:inherit;flex:1;padding:0 12px}.message-search-panel-close{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:38px;color:var(--color-muted-strong);cursor:pointer;background:0 0}.message-search-panel-results{max-height:min(320px,40vh);margin:0;padding:0;list-style:none;overflow:auto}.message-search-panel-result{border-top:1px solid var(--color-border-soft);padding:8px 0}.message-search-panel-empty,.message-search-panel-error,.message-search-panel-loading{color:var(--color-muted);margin:0;font-size:.85rem}.message-search-panel-error{align-items:center;gap:10px;display:flex}.message-search-panel-error button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);color:var(--color-text);cursor:pointer;font:inherit;padding:4px 10px}.message-search-result-button{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 4px;display:grid}.message-search-result-button--focused,.message-search-result-button:hover{background:var(--color-row-hover)}.message-search-result-author{font-weight:700}.message-search-result-time{color:var(--color-muted);font-size:.75rem}.message-search-result-body{color:var(--color-muted-strong);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin:0;font-size:.9rem;overflow:hidden}.member-list-panel{border-left:1px solid var(--color-border-soft);background:var(--color-sidebar);width:240px;min-width:240px;transition:width var(--motion-panel) ease, min-width var(--motion-panel) ease, padding var(--motion-panel) ease;flex-direction:column;gap:12px;padding:14px 12px;display:flex}.member-list-panel--collapsed{width:52px;min-width:52px;padding-inline:8px}.member-list-toggle{width:100%;min-height:32px;color:var(--color-muted-strong);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 6px;font-size:.78rem;font-weight:800;display:flex}.member-list-toggle:hover{background:var(--color-row-hover);color:var(--color-text)}.member-list-content{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex;overflow:auto}.member-section{flex-direction:column;gap:4px;display:flex}.member-section-header{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}.member-row{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.member-row:hover{background:var(--color-row-hover)}.member-row-avatar-wrap{flex:none;place-items:center;width:32px;height:32px;display:inline-grid;position:relative}.member-row-status-pip{border:2px solid var(--color-sidebar);background:var(--color-success);border-radius:999px;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.member-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;overflow:hidden}.composer-autocomplete{z-index:var(--z-dropdown);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);max-height:220px;box-shadow:var(--shadow-panel);position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;overflow:auto}.composer-autocomplete-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.composer-autocomplete-item:hover,.composer-autocomplete-item:focus,.composer-autocomplete-item--active{background:var(--color-row-hover)}.composer-upload-preview{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-row);align-items:center;gap:10px;margin:0 0 8px;padding:8px 10px;display:flex}.composer-upload-preview img{object-fit:cover;border-radius:6px;width:48px;height:48px}.composer-upload-progress{border-radius:var(--radius-pill);background:var(--color-border-soft);flex:1;height:6px;overflow:hidden}.composer-upload-progress:after{content:"";border-radius:inherit;background:var(--color-accent);width:40%;height:100%;animation:1s ease-in-out infinite composer-upload-indeterminate;display:block}@keyframes composer-upload-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media (prefers-reduced-motion:reduce){.composer-upload-progress:after{width:100%;animation:none}}.message-context-menu-anchor{z-index:var(--z-popover);position:fixed}.message-context-menu{border:1px solid var(--color-border);background:var(--color-canvas-soft);min-width:180px;box-shadow:var(--shadow-overlay);border-radius:10px;padding:6px}.message-context-menu-item{width:100%;min-height:36px;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.message-context-menu-item:hover{background:var(--color-row-hover)}.message-context-menu-item--danger{color:var(--color-accent-strong)}.chat-header-search-button{border-radius:var(--radius-pill);width:36px;min-height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-left:auto;display:inline-grid}.chat-header-search-button:hover,.chat-header-search-button[aria-expanded=true]{color:var(--color-text);background:var(--color-row-hover)}@media (width<=1100px){.mobile-drawer-backdrop{z-index:var(--z-drawer);background:color-mix(in srgb, var(--color-canvas) 62%, transparent);opacity:0;pointer-events:none;transition:opacity var(--motion-panel) ease;border:0;padding:0;display:block;position:fixed;inset:0}.mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}.chat-header-members-button{border:1px solid var(--color-border);border-radius:var(--radius-control);width:36px;height:36px;color:var(--color-text);background:var(--color-canvas-soft);cursor:pointer;flex:none;place-items:center;display:inline-grid}.chat-header-members-button:hover,.chat-header-members-button[aria-expanded=true]{color:var(--color-text);background:var(--color-row-hover)}.member-list-panel{z-index:var(--z-drawer);border-left:1px solid var(--color-border-soft);width:min(280px,85vw);min-width:0;box-shadow:var(--shadow-panel);visibility:hidden;transition:transform var(--motion-panel) ease, visibility 0s linear var(--motion-panel);position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.member-list-panel:not(.member-list-panel--collapsed){visibility:visible;transition:transform var(--motion-panel) ease;transform:translate(0)}}.member-list-status{color:var(--color-muted);margin:0;padding:8px 12px;font-size:12px}.member-list-status--error{color:var(--color-danger-text);align-items:center;gap:8px;display:flex}.member-list-retry{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-row);cursor:pointer;padding:2px 8px;font-size:12px}.toast-action-button:focus-visible,.toast-dismiss-button:focus-visible,.confirm-dialog-actions button:focus-visible,.quick-switcher-item:focus-visible,.message-search-panel-close:focus-visible,.message-search-result-button:focus-visible,.member-list-toggle:focus-visible,.member-row:focus-visible,.member-list-retry:focus-visible,.message-context-menu-item:focus-visible,.chat-header-members-button:focus-visible,.chat-header-search-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.workspace-button-inbox{position:relative}.workspace-button-inbox .ui-icon{width:1.35rem;height:1.35rem}.workspace-button-badge{border:2px solid var(--color-rail);border-radius:var(--radius-pill);min-width:18px;height:18px;color:var(--color-on-accent);background:var(--color-accent);pointer-events:none;place-items:center;padding:0 5px;font-size:.68rem;font-weight:900;line-height:1;display:inline-grid;position:absolute;top:-4px;right:-4px}.inbox-overlay{z-index:var(--z-overlay);pointer-events:none;justify-content:flex-start;display:flex;position:fixed;inset:0}.inbox-backdrop{background:color-mix(in srgb, var(--color-canvas) 55%, transparent);cursor:default;pointer-events:auto;border:0;padding:0;position:absolute;inset:0}.inbox-panel{z-index:1;width:min(360px, calc(100vw - var(--rail-width)));max-width:100%;height:100%;margin-left:var(--rail-width);border-right:1px solid var(--color-border-soft);background:var(--color-sidebar);box-shadow:var(--shadow-panel);pointer-events:auto;flex-direction:column;gap:0;display:flex;position:relative}.inbox-panel-header{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 16px 14px;display:flex}.inbox-panel-header h2{margin:0;font-size:1.15rem;font-weight:850}.inbox-panel-empty{color:var(--color-muted);margin:0;padding:28px 18px;font-size:.92rem}.inbox-panel-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:8px;list-style:none;display:flex;overflow-y:auto}.inbox-panel-row{border-radius:var(--radius-row);width:100%;min-height:48px;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;transition:background var(--motion-fast) ease;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;display:grid}.inbox-panel-row:hover,.inbox-panel-row:focus-visible{background:var(--color-row-hover)}.inbox-panel-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.inbox-panel-row-title{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font-size:.92rem;font-weight:700;overflow:hidden}.inbox-panel-row-time{color:var(--color-muted);grid-column:1/-1;font-size:.76rem}@media (width<=900px){.inbox-panel{width:min(88vw,340px);margin-left:0}}.auth-screen{background:var(--color-canvas);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{border:1px solid var(--color-border);border-radius:calc(var(--radius-control) + 4px);background:var(--color-canvas-soft);width:min(420px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-overlay);padding:32px 28px;overflow-y:auto}.auth-brand{gap:6px;margin-bottom:4px;display:grid}.auth-brand-name{color:var(--color-accent);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:900}.auth-brand-title{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:850}.auth-brand-copy{color:var(--color-muted-strong);margin:0;font-size:.95rem;line-height:1.45}.auth-note{color:var(--color-muted-strong);margin:12px 0 0;line-height:1.5}.form-field{gap:7px;margin-top:16px;display:grid}.form-field span{color:var(--color-muted-strong);font-size:.9rem;font-weight:700}.auth-card input{min-height:46px;padding:0 12px}.auth-primary-button,.auth-card button[type=submit]{width:100%;min-height:46px;color:var(--color-on-accent);background:var(--color-accent);border:0;border-radius:999px;margin-top:18px;font-weight:800}.auth-primary-button:disabled,.auth-card button[type=submit]:disabled{cursor:not-allowed;opacity:.58}.auth-mode-switch,.auth-card button.auth-mode-switch{border-radius:var(--radius-control);width:100%;min-height:40px;color:var(--color-muted-strong);background:0 0;border:0;margin-top:10px;font-weight:700}.auth-mode-switch:hover,.auth-card button.auth-mode-switch:hover{color:var(--color-text);background:var(--color-row-hover)}.auth-error{margin-top:14px}.admin-overlay{z-index:var(--z-overlay);background:color-mix(in srgb, var(--color-canvas) 78%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:clamp(8px,2vw,20px);display:grid;position:fixed;inset:0}.admin-panel{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(1260px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.profile-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(520px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.profile-card-body{gap:20px;min-height:0;padding:20px;display:grid;overflow-y:auto}.profile-card-identity{align-items:center;gap:16px;display:flex}.avatar-upload-button{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.profile-close-button{border:1px solid var(--color-border);border-radius:var(--radius-control);width:36px;height:36px;color:var(--color-muted-strong);background:var(--color-canvas-soft);flex:none;place-items:center;display:inline-grid}.profile-close-button:hover,.profile-close-button:focus-visible{border-color:var(--color-accent);color:var(--color-text)}.profile-facts{gap:10px;display:grid}.profile-facts div{border-top:1px solid var(--color-border-soft);gap:3px;min-width:0;padding:10px 0;display:grid}.profile-facts span{color:var(--color-muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.profile-facts strong{overflow-wrap:anywhere;min-width:0}.profile-form{gap:4px;display:grid}.profile-form button{border-radius:var(--radius-control);min-height:42px;color:var(--color-on-accent);background:var(--color-accent);border:0;margin-top:14px;font-weight:800}.profile-admin-button{width:100%;margin-top:8px}.e2ee-setup-note{color:var(--color-muted-strong);margin:0;line-height:1.5}.e2ee-setup-form .form-field{margin-top:0}.admin-header,.admin-section-header,.admin-toolbar,.admin-row,.admin-message-meta{align-items:center;display:flex}.admin-header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;padding:18px 20px}.admin-header h2,.admin-section h3{letter-spacing:0;margin:0}.admin-count-badge{background:var(--color-accent);min-width:1.5rem;color:var(--color-on-accent);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:0 8px;font-size:.8rem;font-weight:800;display:inline-flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px;min-height:0;padding:16px;display:grid;overflow-y:auto}.admin-section{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-row);flex-direction:column;min-width:0;min-height:0;max-height:min(540px,100dvh - 190px);display:flex}.admin-section-header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:14px}.admin-section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-section select,.admin-section input{max-width:160px;min-height:38px;padding:0 10px}.admin-section input{max-width:none}.admin-channel-form{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:12px 14px;display:grid}.admin-emoji-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px 0;display:grid}.admin-emoji-hint{color:var(--color-muted-strong);margin:0;padding:0 14px 12px;font-size:.82rem}.admin-emoji-row{align-items:center}.admin-emoji-summary{align-items:center;gap:10px;min-width:0;display:flex}.admin-emoji-summary .custom-emoji{width:28px;height:28px}.admin-emoji-thumb-placeholder{color:var(--color-text-muted);justify-content:center;align-items:center;font-size:10px;line-height:1;display:inline-flex;overflow:hidden}.admin-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;padding:12px 14px}.admin-list{min-width:0;min-height:0;padding:8px 14px 14px;overflow:hidden auto}.admin-workspace-icon{align-items:center;gap:16px;padding:14px;display:flex}.admin-workspace-icon-preview{border:1px solid var(--color-border);width:72px;height:72px;color:var(--color-on-accent);background:var(--color-accent);text-transform:uppercase;border-radius:18px;flex:none;place-items:center;font-size:1.6rem;font-weight:850;line-height:1;display:grid;overflow:hidden}.admin-workspace-icon-preview img{object-fit:cover;width:100%;height:100%;display:block}.admin-workspace-icon-actions{gap:10px;min-width:0;display:grid}.admin-workspace-icon-actions p{color:var(--color-muted-strong);margin:0;font-size:.9rem;line-height:1.4}.admin-file-button{cursor:pointer;justify-self:start}.message-admin-list{padding-top:0}.admin-row{flex-wrap:wrap;justify-content:space-between;gap:12px;min-width:0;padding:12px 0}.admin-row+.admin-row{border-top:1px solid var(--color-border-soft)}.admin-row>div{min-width:0}.admin-user-summary{flex:180px;align-items:center;gap:10px;min-width:0;display:flex}.admin-user-summary>div,.admin-message-row>div:first-child{flex:180px;min-width:0}.admin-user-actions{flex:0 auto;gap:8px;display:grid}.admin-row p,.admin-empty{color:var(--color-muted-strong);overflow-wrap:anywhere;margin:4px 0}.admin-row strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;display:block}.admin-row small,.admin-message-meta span{color:var(--color-muted)}.admin-message-row{align-items:flex-start}.admin-message-meta{flex-wrap:wrap;gap:8px}.admin-section .secondary-button,.admin-section .danger-button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.admin-message-image{border:1px solid var(--color-border);border-radius:var(--radius-control);object-fit:contain;max-width:min(180px,100%);max-height:120px;margin-top:8px;display:block}.admin-message-file{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas);gap:2px;max-width:min(240px,100%);margin-top:8px;padding:8px;display:grid}.admin-message-file strong,.admin-message-file small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.secondary-button,.danger-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:34px;color:var(--color-muted-strong);background:var(--color-canvas-soft);padding:0 10px;font-size:.85rem;font-weight:800}.secondary-button:hover{border-color:var(--color-accent-strong);color:var(--color-text)}.danger-button{border-color:var(--color-danger-border);color:color-mix(in srgb, var(--color-danger-border) 55%, var(--color-text));background:color-mix(in srgb, var(--color-danger-border) 14%, var(--color-row))}.danger-button:hover{border-color:color-mix(in srgb, var(--color-danger-border) 75%, transparent);color:var(--color-text)}.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.45}.admin-error{margin:14px 16px 0}.settings-overlay{z-index:var(--z-overlay)}.settings-panel{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(720px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.settings-header{border-bottom-color:var(--color-border)}.settings-header h2{color:var(--color-text)}.settings-body{grid-template-columns:minmax(140px,180px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.settings-nav{border-right:1px solid var(--color-border);background:var(--color-canvas);flex-direction:column;gap:6px;padding:16px 12px;display:flex}.settings-nav-item{border-radius:var(--radius-control);color:var(--color-muted-strong);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:1px solid #0000;padding:10px 12px;font-size:.88rem;font-weight:700}.settings-nav-item:hover,.settings-nav-item:focus-visible{border-color:var(--color-border);color:var(--color-text);background:var(--color-row)}.settings-nav-item.active{color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 16%, var(--color-row));border-color:#0000}.settings-content{min-width:0;padding:20px 22px 24px;overflow-y:auto}.settings-section-title{color:var(--color-text);letter-spacing:0;margin:0 0 6px;font-size:1.05rem;font-weight:800}.settings-section-copy{color:var(--color-muted);margin:0 0 18px;font-size:.88rem;line-height:1.45}.appearance-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.appearance-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease;gap:10px;padding:14px;display:grid}.appearance-card:hover,.appearance-card:focus-visible{border-color:var(--color-accent-strong);background:var(--color-row)}.appearance-card.selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-canvas-soft));box-shadow:var(--focus-ring)}.appearance-card-preview{border-radius:calc(var(--radius-control) - 2px);border:1px solid var(--color-border-soft);height:64px;display:block}.appearance-card-preview-light,.appearance-card-preview-dark{background:var(--color-canvas)}.appearance-card-label{font-size:.9rem;font-weight:700}.settings-subsection-title{color:var(--color-text);margin:22px 0 10px;font-size:.92rem;font-weight:700}.appearance-option-row{flex-wrap:wrap;gap:8px;display:flex}.appearance-option{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);min-height:36px;color:var(--color-text);cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease;padding:8px 14px;font-size:.88rem;font-weight:700}.appearance-option:hover,.appearance-option:focus-visible{border-color:var(--color-accent-strong);background:var(--color-row)}.appearance-option.selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-canvas-soft));box-shadow:var(--focus-ring)}.appearance-accent-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.appearance-accent-label{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);min-height:36px;color:var(--color-text);align-items:center;gap:10px;padding:6px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.appearance-accent-label input[type=color]{border:1px solid var(--color-border);border-radius:calc(var(--radius-control) - 2px);cursor:pointer;background:0 0;width:36px;height:28px;padding:0}.settings-toggle-row{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;font-size:.9rem;font-weight:600;display:flex}.settings-toggle-row input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}@media (width<=560px){.settings-body{grid-template-columns:1fr}.settings-nav{border-right:none;border-bottom:1px solid var(--color-border);flex-flow:wrap}.appearance-card-grid{grid-template-columns:1fr}}@media (width<=900px){body{overflow:hidden}.app-shell{width:100vw;max-width:100vw}.app-shell:has(>.app-shell-slot){grid-template:"main"minmax(0,1fr)"composer"/minmax(0,1fr)!important}.app-shell-slot[data-slot=rail],.app-shell-slot[data-slot=sidebar],.app-shell-slot[data-slot=right]{pointer-events:none;width:0;min-width:0;height:0;position:fixed;inset:auto;overflow:visible}.app-shell-slot[data-slot=sidebar] .channel-sidebar,.app-shell-slot[data-slot=sidebar] .home-sidebar,.app-shell-slot[data-slot=sidebar] .mobile-drawer-backdrop,.app-shell-slot[data-slot=right] .member-list-panel{pointer-events:auto}.app-shell-slot[data-slot=main],.app-shell-slot[data-slot=composer]{grid-column:1;width:100%;max-width:100vw}.chat-stage{width:100%;min-width:0}.workspace-sidebar{display:none}.workspace-brand{font-size:.7rem}.workspace-button{width:48px;height:48px;font-size:.92rem}.mobile-drawer-backdrop{z-index:var(--z-drawer);background:color-mix(in srgb, var(--color-canvas) 62%, transparent);opacity:0;pointer-events:none;transition:opacity var(--motion-panel) ease;border:0;padding:0;display:block;position:fixed;inset:0}.mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}.channel-sidebar,.home-sidebar,.fm-mobile-navigation{z-index:var(--z-drawer);border-right:1px solid var(--color-border-soft);width:min(88vw,340px);max-width:100vw;box-shadow:var(--shadow-panel);visibility:hidden;transition:transform var(--motion-panel) ease, visibility 0s linear var(--motion-panel);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.channel-sidebar.mobile-open,.home-sidebar.mobile-open,.fm-mobile-navigation.mobile-open{visibility:visible;transition:transform var(--motion-panel) ease;transform:translate(0)}.workspace-header,.chat-header{min-height:60px;padding:10px 12px}.workspace-header{gap:10px}.workspace-header h1,.chat-header h2{font-size:1.05rem}.mobile-drawer-close,.mobile-menu-button{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-canvas-soft);flex:none;place-items:center;font-weight:900;display:inline-grid}.mobile-drawer-close{width:36px;height:36px;font-size:1.25rem}.mobile-menu-button{width:40px;height:40px;font-size:1.1rem}.mobile-workspace-switcher{border-bottom:1px solid var(--color-border-soft);background:var(--color-row);grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:8px;padding:10px 12px;display:grid}.mobile-workspace-brand{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:900;overflow:hidden}.mobile-workspace-switch-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:44px;max-width:116px;min-height:36px;color:var(--color-muted-strong);background:var(--color-canvas-soft);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.mobile-workspace-switch-button span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-workspace-switch-button.active{border-color:var(--color-border-soft);color:var(--color-on-accent);background:var(--color-accent)}.status{font-size:.76rem}.channel-list{padding:12px 8px}.friends-overview{padding:12px}.friends-overview-header,.friend-row{flex-direction:column;align-items:stretch}.friends-count-pill{flex:1;justify-content:center}.friends-table{gap:8px;display:grid}.friends-table-head{display:none}.friends-table .friend-row{border:1px solid var(--color-border-soft);border-radius:var(--radius-row);background:var(--color-row);grid-template-columns:1fr;gap:10px;min-height:0;padding:12px;display:grid}.friends-table .friend-row+.friend-row{border-top:1px solid var(--color-border-soft)}.friend-identity-button,.friend-status{width:100%}.friend-status{align-items:flex-start}.friend-status span:last-child{white-space:normal;overflow-wrap:anywhere}.friends-overview-header .primary-action-button,.friend-row-actions,.friend-row-actions .secondary-button,.friend-row>.secondary-button{width:100%}.friend-row-actions{grid-template-columns:1fr;display:grid}.channel{min-height:42px;padding:0 8px}.voice-user-list{margin-left:24px}.voice-control-panel{padding:10px 12px}.voice-control-panel.voice-control-strip{flex-wrap:wrap;gap:8px}.voice-control-actions{flex-direction:row}.voice-control-strip .voice-control-button{width:32px}.voice-control-button{width:auto}.online-panel{max-height:min(30dvh,210px)}.sidebar-user-card,.profile-panel.sidebar-user-card{flex-wrap:nowrap;align-items:center;padding:10px 12px}.profile-panel .avatar{width:32px;height:32px}.profile-actions{flex:none;width:auto}.chat-panel{width:100%;min-width:0;max-width:100vw}.chat-header{flex:none;justify-content:flex-start;gap:10px}.error-banner,.notice-banner{margin:10px 12px 0}.message-list{padding:12px}.empty-state{margin-top:8vh}.empty-state h3{font-size:clamp(1.35rem,7vw,1.75rem)}.message{gap:8px}.message .avatar{width:32px;height:32px;font-size:.9rem}.message-meta{flex-wrap:wrap;gap:4px 8px}.message p,.message-reply-reference span,.reply-compose-preview p,.admin-row p{overflow-wrap:anywhere;word-break:break-word}.message-image,.message-gif,.dm-message-gif{width:auto;max-width:100%;height:auto;max-height:min(46dvh,420px)}.message-file-card{grid-template-columns:34px minmax(0,1fr)}.message-file-download-button{grid-column:1/-1;width:100%}.message-reply-reference{max-width:100%}.message-reply-reference span{white-space:normal;overflow-wrap:anywhere}.message-menu-button{width:28px;height:28px}.emoji-picker{width:auto;max-width:none}.message-input-emoji-picker{right:12px;bottom:calc(var(--composer-clearance) + 8px);z-index:var(--z-popover);max-height:min(44dvh,320px);position:fixed;left:12px}.emoji-picker-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}.typing-indicator{min-height:20px;padding:0 12px}.reply-compose-preview{align-items:flex-start;margin:0 12px 8px;padding:8px 10px}.reply-compose-preview>div{min-width:0}.message-form{margin:0 12px calc(10px + env(safe-area-inset-bottom));border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);background:var(--color-row);align-items:center;gap:2px;padding:4px;display:flex;position:sticky;bottom:0}.app-shell-slot[data-slot=composer] .message-form{margin:0 12px calc(10px + env(safe-area-inset-bottom))}.message-form input,.profile-form input{min-height:40px;padding:0 8px}.message-form button,.auth-card button{min-height:40px}.message-form button{padding:0 10px}.message-form .composer-plus-button{width:40px;min-width:40px;max-width:none;overflow:hidden}.message-form .composer-input-pill{min-height:40px}.message-form .composer-input-pill input{min-height:40px;padding-right:4px}.message-form .composer-input-pill .emoji-trigger-button{flex-basis:40px;width:40px;min-height:40px}.composer-attachment-menu{width:min(220px,100vw - 84px)}.message-edit-form{grid-template-columns:1fr;max-width:100%}.admin-overlay{padding:0}.admin-panel,.profile-card{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.admin-panel{overscroll-behavior:contain;overflow:hidden auto}.admin-header{z-index:var(--z-raised);background:var(--color-canvas-soft);gap:10px;padding:12px;position:sticky;top:0}.admin-grid{flex-direction:column;flex:none;gap:12px;min-height:0;max-height:none;padding:12px;display:flex;overflow:visible}.admin-section{flex:none;gap:10px;width:100%;min-width:0;max-height:none;overflow:visible}.admin-section+.admin-section{margin-top:8px}.admin-section-header,.admin-row,.admin-toolbar{flex-flow:column wrap;align-items:stretch;gap:8px}.admin-section-actions,.admin-user-actions{grid-template-columns:1fr;width:100%}.admin-section-actions{justify-content:stretch;display:grid}.admin-section select,.admin-section input{width:100%;max-width:none}.admin-channel-form{grid-template-columns:1fr}.secondary-button,.danger-button{white-space:normal;width:100%;min-height:38px}.admin-list{overflow:visible}.profile-card-body{align-content:start;padding:14px}.profile-card-identity{text-align:center;flex-direction:column;justify-content:center;align-items:center}.avatar-upload-button{width:auto;min-height:34px;padding:0 12px}.auth-screen{min-height:100dvh;padding:12px}.auth-card{padding:clamp(18px,5vw,24px)}.quick-switcher-backdrop{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));place-items:start stretch}.quick-switcher{flex-direction:column;width:100%;max-height:min(80dvh,640px);display:flex}.quick-switcher-list{flex:1;min-height:0;max-height:none}.confirm-dialog-backdrop{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));place-items:center stretch}.confirm-dialog{width:100%;max-height:min(80vh,640px);overflow-y:auto}.toast-host{left:12px;right:12px;bottom:calc(var(--composer-clearance) + 8px);width:auto}.message-search-panel{flex:none;max-height:min(42dvh,320px);overflow-y:auto}.message-context-menu{max-width:min(280px,100vw - 24px);max-height:min(60vh,360px);overflow-y:auto}.member-list-panel{z-index:var(--z-drawer);width:min(88vw,300px);min-width:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-left:1px solid var(--color-border-soft);box-shadow:var(--shadow-panel);visibility:hidden;transition:transform var(--motion-panel) ease, visibility 0s linear var(--motion-panel);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.member-list-panel:not(.member-list-panel--collapsed){visibility:visible;transition:transform var(--motion-panel) ease;transform:translate(0)}}@media (width<=430px){.message-form{gap:2px}.message-form .composer-plus-button{max-width:none}.message-form .composer-send-button{min-width:40px;min-height:40px;padding:0}.message-input-emoji-picker{left:8px;right:8px}.gif-search-form{grid-template-columns:1fr}}.user-chip-button,.message-author-button,.online-user,.voice-user-profile-button{font:inherit;background:0 0;border:0}.online-user,.voice-user{text-align:left;width:100%;padding:0}.online-user:hover span:last-child,.voice-user-profile-button:hover span:last-child,.message-author-button:hover{color:var(--color-text);text-decoration:underline}.user-chip-button{border-radius:999px;flex:none;padding:0}.user-chip-button:focus-visible,.message-author-button:focus-visible,.online-user:focus-visible,.voice-user-profile-button:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.message-author-button{color:var(--color-text);padding:0;font-weight:800}.profile-form textarea{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-control);width:100%;min-height:86px;color:var(--color-text);background:var(--color-row);outline:none;padding:10px 12px}.profile-form textarea:focus{border-color:var(--color-accent-strong)}.profile-form textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.profile-form small{color:var(--color-muted)}.public-profile-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas-soft);width:min(420px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}.public-profile-hero{align-items:center;gap:16px;min-width:0;display:flex}.public-profile-hero h3{overflow-wrap:anywhere;margin:0 0 6px;font-size:1.35rem}.primary-full-button{border-radius:var(--radius-control);min-height:42px;color:var(--color-on-accent);background:var(--color-accent);border:0;font-weight:800}.primary-full-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=900px){.public-profile-overlay{align-items:end}.public-profile-card{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;width:100vw;max-height:min(88dvh,620px)}.add-friends-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;width:100vw;max-height:min(88dvh,680px)}.public-profile-actions{grid-template-columns:1fr}.public-profile-hero{text-align:center;flex-direction:column;justify-content:center}.dm-message-bubble{max-width:100%}.gif-picker-overlay{align-items:end;padding:0}.gif-picker{border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;width:100vw;max-height:min(88dvh,760px)}.gif-result-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:0 12px 12px}.gif-picker-header,.gif-search-form{padding-left:12px;padding-right:12px}.friends-overview-header{align-items:flex-start}.friends-section-header{align-items:center;gap:10px}.friends-count-pill{flex:none;margin:0}.friend-row-actions,.friend-row-actions .secondary-button,.friend-row>.secondary-button{width:100%;min-width:0}.mobile-bottom-tab-bar{z-index:var(--z-bottom-tabs);min-height:var(--bottom-tab-height);padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-border-soft);background:var(--color-sidebar);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-tab{min-width:0;min-height:var(--bottom-tab-height);color:var(--color-muted-strong);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.mobile-bottom-tab span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-bottom-tab.active{color:var(--color-on-accent);background:var(--color-accent)}.app-shell.has-mobile-bottom-tabs{padding-bottom:calc(var(--bottom-tab-height) + env(safe-area-inset-bottom,0px))}.app-shell.has-mobile-bottom-tabs .fm-hub-shell,.has-mobile-bottom-tabs .fm-hub-shell{height:100%;min-height:0}.app-shell.has-mobile-bottom-tabs .toast-host,.has-mobile-bottom-tabs .toast-host{bottom:calc(var(--bottom-tab-height) + env(safe-area-inset-bottom,0px) + 8px)}.app-shell.has-mobile-bottom-tabs .add-friends-overlay,.app-shell.has-mobile-bottom-tabs .public-profile-overlay,.has-mobile-bottom-tabs .add-friends-overlay,.has-mobile-bottom-tabs .public-profile-overlay{padding-bottom:calc(var(--bottom-tab-height) + env(safe-area-inset-bottom,0px))}.settings-overlay{padding:0}.settings-panel{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.settings-content{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.app-shell.has-mobile-bottom-tabs .fm-slot-picker-sheet,.has-mobile-bottom-tabs .fm-slot-picker-sheet{padding-bottom:calc(14px + var(--bottom-tab-height) + env(safe-area-inset-bottom,0px))}}.app-chrome{flex-direction:column;width:100%;min-width:0;max-width:100%;height:100dvh;display:flex;overflow:hidden}.app-chrome>.app-shell,.app-chrome>.app-frame,.app-chrome>.auth-screen{flex:1;min-height:0}.app-chrome>.app-shell,.app-chrome>.app-frame{height:auto}.app-chrome>.app-frame>.app-shell{height:100%}.app-chrome>.app-update-banner{flex-shrink:0}.desktop-title-bar{-webkit-app-region:drag;background:var(--color-rail);border-bottom:1px solid var(--color-border);height:36px;color:var(--color-text);flex-shrink:0;justify-content:space-between;align-items:center;padding-left:10px;display:flex}.desktop-title-bar__brand{align-items:center;gap:8px;min-width:0;display:flex}.desktop-title-bar__mark{flex-shrink:0;display:block}.desktop-title-bar__name{letter-spacing:.01em;color:var(--color-muted-strong);font-size:13px;font-weight:600}.desktop-title-bar__controls,.desktop-title-bar__controls button{-webkit-app-region:no-drag}.desktop-title-bar__controls{align-items:stretch;height:100%;display:flex}.desktop-title-bar__controls button{width:46px;color:var(--color-muted-strong);background:0 0;border:none;padding:0;font-size:12px;line-height:1}.desktop-title-bar__controls button:hover{background:var(--color-row-hover);color:var(--color-text)}.desktop-title-bar__controls button:focus-visible{box-shadow:var(--focus-ring);z-index:var(--z-raised);outline:none}.desktop-title-bar__controls button[aria-label=Close]:hover{background:var(--color-accent);color:var(--color-on-accent)}
