/* Consolidated mobile and narrow-viewport overrides. Loaded after app.css to keep responsive rules deterministic. */

@media(max-width:700px){
 body.game-popout .main,body.game-popout .main.dm-game-open{position:fixed!important;inset:0!important;display:block!important;width:100%!important;height:100dvh!important}
 body.game-popout .main>.dm-game-panel.game-popout-panel{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;border:0!important;box-shadow:none!important}
 body.game-popout .dm-game-panel-head{display:flex!important;height:48px;min-height:48px}
 body.game-popout .dm-game-panel-scroll{padding:10px}
 body.game-popout .dm-chess-board{width:min(82vw,72dvh,680px);max-height:none;min-height:0}
 body.game-popout .frontiers-map{width:min(100%,900px);min-height:0;max-height:none;aspect-ratio:1.18}
 body.game-popout .estate-board{width:min(86vw,76dvh,720px);min-height:0;max-height:none}
}

@media(max-width:700px){.shell{grid-template-columns:58px 1fr;grid-template-areas:"rail header" "rail main"}.sidebar{position:fixed;left:58px;top:0;bottom:0;width:240px;z-index:12;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.voice-stage{left:58px}.topic,.search{display:none}}

@media(max-width:700px){.app-settings{grid-template-columns:150px 1fr}.settings-nav{padding:48px 8px 16px}.settings-content{padding:48px 18px}}

@media(max-width:700px){.invite-create-grid{grid-template-columns:1fr}.invite-row{align-items:flex-start;flex-direction:column}.invite-row>div:last-child{flex-wrap:wrap}}

@media(max-width:700px){.sidebar{width:260px}.account-profile-row{grid-template-columns:auto minmax(0,1fr)}.account-profile-row>.primary{grid-column:1/-1;width:100%;margin:0}.account-avatar-wrap{width:82px;height:82px}.account-avatar-wrap .avatar.large{width:68px;height:68px}.account-details{margin-left:12px;margin-right:12px}.account-detail-row{align-items:flex-start}.voice-stage{left:58px}}

@media(max-width:700px){
  .sidebar-voice-box{margin:0 6px 6px;padding:5px 6px;border-radius:10px}
  .sidebar-voice-box .voice-box-main{min-height:42px}
  .sidebar-voice-box .voice-box-summary{min-height:38px;padding:3px}
  .sidebar-voice-box .voice-box-actions .icon-btn,
  .sidebar-voice-box .voice-box-actions .secondary{width:32px;height:32px;min-width:32px;min-height:32px}
}

/* A compact stacked split keeps both the game and the DM composer visible on
   phones. The game remains scrollable instead of replacing the conversation. */
@media(max-width:700px){
 .main.dm-game-open{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(230px,56%) minmax(0,1fr) auto!important;overflow:hidden}
 .main.dm-game-open>.dm-game-panel{grid-column:1;grid-row:1;position:static;width:auto;min-width:0;border-left:0;border-bottom:1px solid color-mix(in srgb,var(--muted) 24%,transparent);box-shadow:0 8px 22px rgba(0,0,0,.16)}
 .main.dm-game-open>.messages{grid-column:1;grid-row:2;min-height:0}
 .main.dm-game-open>.composer-wrap{grid-column:1;grid-row:3;min-width:0}
 .dm-game-panel-head{height:44px;min-height:44px;padding-inline:10px}.dm-game-panel-scroll{padding:9px}
 .dm-game-status{padding:7px 9px;margin-bottom:5px}.dm-game-player{padding:4px 6px}.dm-game-player-piece{width:26px;height:26px;font-size:18px}
 .dm-chess-board{width:min(100%,390px);max-height:calc(56dvh - 164px);min-height:188px;margin-block:2px;border-width:2px}
 .dm-chess-piece{font-size:clamp(22px,8vw,40px)}
 .frontiers-map{width:min(100%,430px);margin-inline:auto;min-height:205px;aspect-ratio:1.38}.frontiers-territory{width:27px;height:27px}.frontiers-territory span{display:none}.frontiers-action-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:7px;margin-top:6px}.frontiers-turn-order{padding-bottom:5px}
 .estate-player-strip{margin-bottom:5px}.estate-player-strip .estate-player{flex-basis:min(142px,58%)}.estate-board{width:min(100%,390px);max-height:calc(56dvh - 128px);min-height:205px;margin-block:2px}.estate-space{padding-top:5px}.estate-space>i{height:5px}.estate-space>span{font-size:5px}.estate-space>small{display:none}.estate-board-center>strong{font-size:clamp(14px,5vw,22px)}.estate-properties article{grid-template-columns:5px minmax(0,1fr) auto auto auto}.estate-trade-grid{grid-template-columns:minmax(0,1fr)}
 .dm-game-controls{padding-top:6px}.dm-game-moves,.dm-game-history{margin-top:6px}
 :root.mobile-keyboard-open .main.dm-game-open{grid-template-rows:minmax(170px,42%) minmax(0,1fr) auto!important}
 :root.mobile-keyboard-open .dm-game-panel-head{display:none}
 :root.mobile-keyboard-open .dm-chess-board{max-height:calc(42dvh - 86px);min-height:150px}
 :root.mobile-keyboard-open .frontiers-map{min-height:150px;max-height:190px}
 :root.mobile-keyboard-open .estate-board{min-height:150px;max-height:190px}
}

@media(max-width:700px){
 html,body,#app{height:100%;height:100dvh}
 .shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);grid-template-areas:"header" "main";position:relative;overflow:hidden}
 .header{padding:0 8px;min-width:0}
 .mobile-menu{display:grid!important;place-items:center;flex:0 0 36px}
 .header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .header-actions{gap:2px}.member-toggle{display:grid!important}
 .main{min-width:0;width:100%;height:100%;overflow:hidden}
 .messages{padding-top:10px}.message{grid-template-columns:46px minmax(0,1fr);padding-left:8px;padding-right:8px}.message .avatar{margin-left:2px}
 .composer-wrap{padding:0 8px max(10px,env(safe-area-inset-bottom))}.composer{border-radius:8px;padding:6px}.composer textarea{font-size:16px}
 .rail{display:flex!important;position:fixed;z-index:81;left:0;top:0;bottom:0;width:64px;padding:10px 8px max(10px,env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .2s ease;overflow-x:hidden;overflow-y:auto;flex-direction:column;background:var(--rail)}
 .rail.open{transform:translateX(0)}
 .sidebar{display:flex!important;position:fixed;z-index:80;left:64px;top:0;bottom:0;width:min(310px,calc(100vw - 64px));transform:translateX(calc(-100% - 64px));transition:transform .2s ease;box-shadow:12px 0 32px #0007}
 .sidebar.open{transform:translateX(0)}
 .sidebar-title{padding-top:env(safe-area-inset-top)}
 .sidebar-scroll{overscroll-behavior:contain}.userbar{padding-bottom:max(7px,env(safe-area-inset-bottom));height:auto;min-height:54px}
 .members{display:block!important;position:fixed;z-index:82;right:0;top:48px;bottom:0;width:min(320px,88vw);transform:translateX(100%);transition:transform .2s ease;box-shadow:-12px 0 32px #0007;padding-bottom:env(safe-area-inset-bottom)}
 .members.mobile-open{transform:translateX(0)}
 .mobile-backdrop{display:block;position:fixed;z-index:79;inset:0;border:0;background:#0009;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
 .shell.mobile-panel-open .mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 .voice-stage{position:fixed;z-index:70;inset:48px 0 0 0}.voice-grid{grid-template-columns:1fr;padding:10px}.callbar{padding-bottom:env(safe-area-inset-bottom);height:auto;min-height:68px}
 .topic,.search{display:none}.header-actions{min-width:auto}
 .modal-backdrop{padding:8px;align-items:end}.modal{width:100%;max-height:92dvh;border-radius:12px 12px 0 0;padding:18px}
 .settings-modal{padding:0}.user-settings-shell{display:block;width:100%;height:92dvh;min-height:0}.user-settings-shell .settings-nav{width:100%;max-height:180px;overflow:auto;padding:12px}.user-settings-shell .settings-content{padding:22px 16px 36px;min-height:0}
 .context-menu{max-width:calc(100vw - 16px)}
 .image-lightbox-backdrop .modal{height:100dvh;max-height:100dvh;border-radius:0}.image-lightbox-backdrop .image-lightbox-image{max-width:100%;max-height:calc(100dvh - 110px)}
 .account-profile-row{grid-template-columns:auto minmax(0,1fr)}.account-profile-row>.primary{grid-column:1/-1}.account-detail-row{align-items:flex-start;flex-direction:column}.account-detail-row .secondary{width:100%}
}

@media(max-width:700px){.image-lightbox-backdrop .modal{width:100%!important;height:100dvh!important}.image-lightbox{border-radius:0}.image-lightbox-toolbar{align-items:flex-start}.image-lightbox-actions span{display:none}.lightbox-action{width:38px;padding:8px}}

@media(max-width:700px){
 .image-lightbox-toolbar{top:max(8px,env(safe-area-inset-top))!important;left:8px!important;right:8px!important;transform:none!important;max-width:none!important;width:auto!important;justify-content:flex-end!important}
 .image-lightbox-toolbar>strong{display:none!important}
 .image-lightbox-actions{width:100%!important;justify-content:flex-end!important;gap:6px!important}
 .lightbox-action{width:42px!important;height:42px!important;min-height:42px!important;padding:0!important}
 .image-lightbox-canvas{padding:66px 8px max(8px,env(safe-area-inset-bottom))!important}
}

@media(max-width:700px){
 html,body,#app{height:100%;height:100dvh;overscroll-behavior:none}
 body{touch-action:manipulation;-webkit-text-size-adjust:100%}
 .shell{display:grid;grid-template-columns:1fr;grid-template-rows:48px minmax(0,1fr);grid-template-areas:"header" "main"}
 .header{padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));gap:4px}
 .header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{margin-left:auto}.header-actions .icon-btn{min-width:40px;min-height:40px}
 .rail{position:fixed;z-index:42;left:0;top:0;bottom:0;width:72px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .18s ease;box-shadow:8px 0 24px #0005}
 .rail.open{transform:none}
 .sidebar{position:fixed;z-index:41;left:72px;top:0;bottom:0;width:min(300px,calc(100vw - 72px));transform:translateX(calc(-100% - 72px));transition:transform .18s ease;box-shadow:10px 0 30px #0005}
 .sidebar.open{transform:none}.sidebar-title{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}
 .userbar{padding-bottom:max(7px,env(safe-area-inset-bottom));height:calc(54px + env(safe-area-inset-bottom))}
 .members{display:block;position:fixed;z-index:43;right:0;top:0;bottom:0;width:min(320px,88vw);padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(105%);transition:transform .18s ease;box-shadow:-10px 0 30px #0005}
 .members.mobile-open{transform:none}.mobile-backdrop{display:none;position:fixed;z-index:40;inset:0;background:#0009;border:0}.shell.mobile-panel-open .mobile-backdrop{display:block}
 .main{min-width:0}.messages{padding-top:10px}.message{grid-template-columns:46px minmax(0,1fr);padding:5px 8px}.message .avatar{margin-left:2px;width:36px;height:36px}.msg-head{min-width:0}.msg-head strong{display:inline;overflow-wrap:anywhere}.time{font-size:10px}
 .msg-actions{position:static;display:none;margin-top:5px;width:max-content}.message:focus-within .msg-actions,.message.actions-open .msg-actions{display:flex}
 .composer-wrap{padding:0 max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--bg)}
 .composer{align-items:flex-end;gap:2px;padding:5px}.composer textarea{font-size:16px;line-height:22px;min-height:32px;padding:5px 2px}.composer .icon-btn{min-width:38px;min-height:38px;padding:8px}
 .typing{min-height:18px;height:auto}.topic,.search{display:none!important}.mobile-menu{display:inline-grid!important}
 .video-attachment,.youtube-embed,.audio-attachment,.file-attachment,.image-attachment{max-width:100%;width:100%}.video-attachment video{max-height:62dvh}
 .modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:none;max-height:min(92dvh,900px);border-radius:14px 14px 0 0;padding:20px max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .modal:has(.app-settings){width:100%;height:100dvh;max-height:100dvh;border-radius:0}.app-settings,.user-settings-shell{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)}
 .settings-nav{display:flex;gap:4px;padding:max(8px,env(safe-area-inset-top)) 8px 8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;border-bottom:1px solid #3f4147}.settings-nav button{width:auto;flex:none}.settings-server-name,.settings-nav-separator{display:none}
 .settings-content,.user-settings-shell .settings-content{padding:18px 14px max(24px,env(safe-area-inset-bottom));max-width:none}.row{flex-direction:column}.inline{flex-wrap:wrap}.inline>*{min-width:0}
 .voice-stage{position:fixed;inset:48px 0 0!important}.voice-grid{grid-template-columns:1fr;padding:10px}.callbar{height:64px;padding-bottom:env(safe-area-inset-bottom)}
 .emoji-picker{position:fixed!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-height:62dvh!important}
}

@media(max-width:700px){
  :root{--mobile-header-height:52px}
  html,body,#app{width:100%;min-width:0;height:100%;height:100dvh;overflow:hidden}
  .shell{grid-template-rows:var(--mobile-header-height) minmax(0,1fr)}
  .header{height:var(--mobile-header-height);min-height:var(--mobile-header-height);padding-top:env(safe-area-inset-top)}
  .rail{width:68px;max-width:68px}
  .sidebar{left:68px;width:min(310px,calc(100vw - 68px));max-width:calc(100vw - 68px)}
  .sidebar-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .members{width:min(340px,92vw);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .messages{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:auto}
  .message{grid-template-columns:44px minmax(0,1fr);gap:0}
  .content,.reply-preview,.attachment-caption{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .composer-wrap{position:relative;z-index:3}
  .composer{width:100%;min-width:0}
  .composer textarea{min-width:0;width:100%}
  .modal-backdrop{padding-top:env(safe-area-inset-top);background:rgba(0,0,0,.68)}
  .modal,
  .modal:has(.manager-window),
  .modal:has(.channel-manager),
  .modal:has(.category-manager),
  .modal:has(.channel-settings-box),
  .modal:has(.profile-card),
  .modal:has(.group-editor),
  .modal:has(.messagebox){
    width:100%;max-width:100%;max-height:94dvh;border-radius:16px 16px 0 0;
  }
  .modal:has(.app-settings){inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}
  .settings-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch}.settings-nav::-webkit-scrollbar{display:none}
  .settings-nav button{min-height:42px;padding-inline:12px}
  .settings-content{overflow:auto;-webkit-overflow-scrolling:touch}
  .settings-card,.account-main,.account-card{align-items:flex-start;flex-wrap:wrap}
  .settings-card>button,.account-detail-row>button{margin-left:auto}
  .profile-settings-grid{grid-template-columns:minmax(0,1fr)}
  .inline{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .inline>.field{width:100%}
  .row{width:100%}
  .channel-order-sections,.settings-list,.group-friend-list{max-width:100%;overflow-x:hidden}
  .sortable-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px!important}
  .sortable-row>span:last-child{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
  .voice-grid{grid-template-columns:minmax(0,1fr)}
  .video-tile{min-height:min(56vw,320px)}
  .toast-stack{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));align-items:stretch}.toast-item{max-width:none;width:100%}
}

@media(max-width:700px){
  .modal.modal-medium,
  .modal.modal-wide,
  .modal.modal-full{
    width:100%;
    max-width:100%;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }
}

@media(max-width:700px){
  .modal.modal-full,.modal.modal-wide,.modal.modal-medium{inset:0;width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}
  .modal.modal-full>.close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));background:var(--panel)!important}
  .app-settings,.user-settings-shell{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important}
  .settings-nav{display:flex!important;width:100%!important;padding:max(10px,env(safe-area-inset-top)) 58px 10px 10px;overflow-x:auto;overflow-y:hidden;gap:4px;white-space:nowrap}
  .settings-nav button{width:auto!important;min-width:max-content;height:38px;flex:none}
  .settings-server-name,.settings-section-label,.settings-nav-separator{display:none!important}
  .settings-content{padding:22px max(16px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .settings-content>h2,.settings-page-head{padding-right:44px}
}

@media(max-width:700px){
  .inline,
  .row,
  .actions,
  .messagebox-actions,
  .modal-footer,
  .role-editor-actions,
  .voice-settings-actions,
  .danger-row{
    row-gap:8px;
  }
}

@media(max-width:700px){
  .modal-backdrop > .modal > .close{
    top:max(10px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
  }
  .modal-backdrop > .modal.modal-full > .close{
    top:max(10px,env(safe-area-inset-top))!important;
    right:max(10px,env(safe-area-inset-right))!important;
  }
}

@media(max-width:700px){
  .modal-backdrop > .modal.modal-wide{
    height:100dvh;
    max-height:100dvh;
  }
  .modal-backdrop > .modal.modal-full .settings-content{
    max-width:none!important;
  }
}

@media(max-width:700px){
  .modal-backdrop > .modal.modal-profile{
    width:100%!important;
    max-width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .modal-backdrop > .modal.modal-profile > .profile-card{
    height:100%;
    border-radius:0;
  }
  .modal-profile .profile-banner{height:132px;border-radius:0}
  .modal-backdrop > .modal.modal-profile > .close{
    top:max(12px,env(safe-area-inset-top))!important;
    right:max(12px,env(safe-area-inset-right))!important;
  }
}

@media(max-width:700px){.message-skeleton-row{grid-template-columns:46px minmax(0,1fr);padding:7px 8px}.message-skeleton-row>i{width:36px;height:36px;margin-left:2px}.message-skeleton-row>div{padding-left:2px}}

@media (max-width: 700px) {
  .message-notification-stack { right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); width: calc(100vw - 20px); }
  .message-notification { min-height: 68px; border-radius: 10px; }
}

@media(max-width:700px){
  .role-settings-shell{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:minmax(150px,34vh) minmax(0,1fr)!important}
  .role-list-panel{border-right:0!important;border-bottom:1px solid var(--border)!important}
  .role-editor{padding:20px 16px!important}
  .role-form-grid{grid-template-columns:1fr 96px}
  .role-editor-actions{bottom:-20px;margin:18px -16px -20px!important;padding:12px 16px!important}
}

@media(max-width:700px){
  .messagebox-actions,
  .modal-actions,
  .dialog-actions,
  .role-editor-actions,
  .danger-row{
    row-gap:var(--control-gap)!important;
  }
}

@media (max-width:700px){
  :root{--app-mobile-bar:64px}
  .shell{
    grid-template-columns:1fr!important;
    grid-template-rows:48px minmax(0,1fr) var(--app-mobile-bar)!important;
    grid-template-areas:"header" "main" "youbar"!important;
  }
  .header{grid-area:header;height:48px;min-height:48px;padding:0 8px;border-bottom:1px solid rgba(0,0,0,.18)}
  .main{grid-area:main;min-height:0;border-radius:0;overflow:hidden}
  .mobile-youbar{
    grid-area:youbar;
    display:grid;
    grid-template-columns:56px 56px minmax(0,1fr) 56px;
    align-items:center;
    gap:4px;
    height:var(--app-mobile-bar);
    min-height:var(--app-mobile-bar);
    padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    background:var(--panel);
    border-top:1px solid rgba(0,0,0,.22);
    z-index:35;
  }
  .mobile-youbar-item,.mobile-youbar-profile{
    min-width:0;height:48px;border:0;border-radius:12px;background:none;color:var(--muted);cursor:pointer
  }
  .mobile-youbar-item{display:grid;place-items:center;align-content:center;gap:1px;padding:4px}
  .mobile-youbar-item .app-icon{width:21px;height:21px}
  .mobile-youbar-item span{font-size:10px;line-height:12px;font-weight:700}
  .mobile-youbar-item:active,.mobile-youbar-item:hover{background:var(--hover);color:var(--strong)}
  .mobile-youbar-profile{display:flex;align-items:center;gap:9px;padding:5px 8px;text-align:left;background:var(--hover)}
  .mobile-youbar-profile .avatar{width:36px;height:36px;flex:none}
  .mobile-youbar-identity{display:block;min-width:0}
  .mobile-youbar-identity strong,.mobile-youbar-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-youbar-identity strong{font-size:13px;color:var(--strong)}
  .mobile-youbar-identity small{font-size:11px;color:var(--muted)}
  .mobile-menu{width:40px;height:40px;min-width:40px}
  .header-actions .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}
  .rail,.sidebar,.members{bottom:var(--app-mobile-bar)!important}
  .rail{width:72px!important}
  .sidebar{left:72px!important;width:min(300px,calc(100vw - 72px))!important}
  .messages{padding:8px 0 4px}
  .message{grid-template-columns:44px minmax(0,1fr);padding:4px 8px;min-height:44px}
  .message .avatar{width:36px;height:36px;margin:2px 0 0}
  .content{font-size:15px;line-height:1.35}
  .composer-wrap{padding:0 8px 8px;background:var(--bg)}
  .composer{min-height:44px;padding:5px 6px;border-radius:10px}
  .composer textarea{min-height:34px;line-height:22px;padding:6px 2px}
  .typing{padding-left:4px}
  .voice-stage{inset:48px 0 var(--app-mobile-bar) 0!important}
  .modal-backdrop{padding:0;align-items:end}
  .modal{border-radius:16px 16px 0 0;max-height:calc(100dvh - 24px)}
  .modal:has(.app-settings){height:calc(100dvh - var(--app-mobile-bar));max-height:calc(100dvh - var(--app-mobile-bar));border-radius:0}
  .settings-nav{min-height:52px}
}

@media (max-width:700px){
  :root{--layout-mobile-nav:64px}
  html,body,#app{height:100%;height:100dvh}
  .shell,.shell.members-hidden,.shell.members-unavailable{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--layout-header) minmax(0,1fr) var(--layout-mobile-nav)!important;
    grid-template-areas:"header" "main" "youbar"!important;height:100dvh;overflow:hidden
  }
  .header{grid-area:header;height:var(--layout-header);padding:0 8px;border-radius:0;overflow:hidden}
  .main{grid-area:main;border-radius:0!important;overflow:hidden}
  .mobile-youbar{grid-area:youbar;display:grid!important;height:var(--layout-mobile-nav);min-height:var(--layout-mobile-nav);z-index:90}
  .rail{display:flex!important;position:fixed;z-index:102;left:0;top:0;bottom:var(--layout-mobile-nav)!important;width:64px!important;padding:10px 8px;transform:translateX(-100%);transition:transform .2s ease;overflow-y:auto}
  .rail.open{transform:none}
  .sidebar{display:flex!important;position:fixed;z-index:101;left:64px!important;top:0;bottom:var(--layout-mobile-nav)!important;width:min(310px,calc(100vw - 64px))!important;min-width:0!important;max-width:none!important;transform:translateX(calc(-100% - 64px));transition:transform .2s ease;overflow:hidden;border-radius:0}
  .sidebar.open{transform:none}
  .members{display:block!important;position:fixed;z-index:103;right:0;top:var(--layout-header);bottom:var(--layout-mobile-nav)!important;width:min(320px,88vw)!important;min-width:0!important;max-width:none!important;padding:10px 8px;transform:translateX(100%);transition:transform .2s ease;overflow-y:auto;border-radius:0}
  .members.mobile-open{transform:none}
  .shell.members-unavailable>.members,.shell.members-unavailable .member-toggle,.shell.members-unavailable .mobile-youbar-members{display:none!important}
  .mobile-backdrop{z-index:100;inset:0 0 var(--layout-mobile-nav) 0}
  .header-actions{gap:2px}
  .header-actions .icon-btn,.member-toggle,.mobile-menu{width:40px;height:40px;min-width:40px;min-height:40px}
  .topic,.search{display:none!important}
  .messages{padding:8px 0 2px}
  .message{grid-template-columns:44px minmax(0,1fr);padding:4px 8px}
  .message .avatar{width:36px;height:36px;margin:2px 0 0}
  .composer-wrap{padding:0 8px 8px}
  .composer{border-radius:10px}
  .friends{padding:12px 8px 20px}
  .friend{align-items:flex-start;flex-wrap:wrap}
  .friend .actions{width:100%;margin-left:44px}
  .voice-stage{inset:var(--layout-header) 0 var(--layout-mobile-nav) 0!important}
  .modal-backdrop{padding:0;align-items:end}
  .modal,.modal.modal-medium,.modal.modal-wide{width:100%;max-width:100%;max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:16px 16px 0 0}
  .modal.modal-full{width:100%;height:calc(100dvh - var(--layout-mobile-nav));max-height:none;border-radius:0}
  .app-settings,.user-settings-shell{display:flex!important;flex-direction:column;width:100%;height:100%}
  .settings-nav{display:flex;width:100%!important;min-height:52px;max-height:42%;padding:12px;gap:4px;overflow:auto}
  .settings-nav button{width:auto;white-space:nowrap;flex:none}
  .settings-content{padding:20px 16px 32px}
  .context-menu{width:min(280px,calc(100vw - 16px))}
  .presence-popover{position:fixed;left:8px;right:8px;bottom:calc(var(--layout-mobile-nav) + 8px);width:auto;max-width:none}
}

@media (max-width:700px){
  body > .presence-popover{top:auto!important;width:auto!important;max-width:none!important}
}

@media(max-width:700px){.four-themes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.density-choice{grid-template-columns:1fr}.sidebar-width-setting{display:none}}

@media (max-width:700px) {
  .server-menu-popover,
  .server-menu-popover[popover] {
    width: min(280px,calc(100vw - 16px));
    min-width: 0;
  }
}

@media(max-width:700px){.mention-autocomplete{position:fixed;left:8px;right:8px;bottom:calc(var(--mobile-youbar-height,56px) + 70px);max-height:42vh}}

@media(max-width:700px){.search-result{grid-template-columns:1fr auto}.search-result-channel{grid-column:1}.search-result strong{grid-column:1}.search-result time{grid-column:2;grid-row:1/3}.search-results{max-height:60vh}}

@media (max-width:700px){
  :root{--layout-rail:60px;--layout-mobile-nav:68px}
  .shell{grid-template-columns:1fr!important;grid-template-rows:var(--layout-header) minmax(0,1fr) var(--layout-mobile-nav)!important;grid-template-areas:"header" "main" "mobile-nav"!important}
  .rail{position:fixed!important;left:0;top:0;bottom:var(--layout-mobile-nav);width:var(--layout-rail)!important;z-index:251;transform:translateX(-105%);transition:transform .18s ease;padding-top:max(10px,env(safe-area-inset-top))}
  .sidebar{left:0!important;top:0!important;bottom:var(--layout-mobile-nav)!important;width:min(320px,88vw)!important;z-index:250!important;transform:translateX(-105%)!important;box-shadow:12px 0 32px rgba(0,0,0,.42)}
  .shell.mobile-panel-open .rail{transform:none}
  .sidebar.open{transform:none!important;left:var(--layout-rail)!important;width:calc(min(320px,100vw) - var(--layout-rail))!important}
  .header{padding-left:8px;padding-right:8px}
  .mobile-menu{display:inline-grid!important}
  .members{top:0!important;bottom:var(--layout-mobile-nav)!important;width:min(320px,92vw)!important;z-index:252!important}
  .mobile-youbar{height:var(--layout-mobile-nav)!important;min-height:var(--layout-mobile-nav);padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:6px;background:var(--panel);border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}
  .mobile-youbar-item,.mobile-youbar-profile{min-height:48px;border-radius:14px}
  .mobile-youbar-profile{min-width:0;padding:5px 10px;gap:8px}
  .mobile-youbar-profile .avatar{width:38px;height:38px}
  .mobile-youbar-identity{min-width:0}
  .mobile-youbar-identity strong,.mobile-youbar-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .composer-wrap{padding-left:8px;padding-right:8px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .message{padding-left:8px;padding-right:8px}
  body>.presence-popover{left:8px!important;right:8px!important;bottom:calc(var(--layout-mobile-nav) + 8px)!important;top:auto!important;width:auto!important;max-height:calc(100dvh - var(--layout-mobile-nav) - 24px)!important}
}

@media (max-width:700px){
  :root{--layout-mobile-nav:var(--app-youbar-height)}
  body{background:var(--bg)}
  .shell{padding-bottom:env(safe-area-inset-bottom)}
  .header{height:52px;min-height:52px;padding:6px 8px;border-bottom:1px solid color-mix(in srgb,var(--muted) 14%,transparent);background:color-mix(in srgb,var(--top) 96%,transparent);backdrop-filter:blur(16px)}
  .header .head-title{font-size:17px}
  .mobile-menu,.member-toggle{border-radius:12px}
  .sidebar{top:8px!important;bottom:calc(var(--layout-mobile-nav) + 8px)!important;border-radius:0 18px 18px 0;overflow:hidden}
  .rail{top:8px;bottom:calc(var(--layout-mobile-nav) + 8px);border-radius:0 18px 18px 0}
  .members{top:8px!important;bottom:calc(var(--layout-mobile-nav) + 8px)!important;border-radius:18px 0 0 18px;overflow:hidden;box-shadow:-12px 0 34px rgba(0,0,0,.4)}
  .mobile-backdrop{bottom:var(--layout-mobile-nav);background:rgba(0,0,0,.54);backdrop-filter:blur(2px)}
  .mobile-youbar{
    left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;height:68px!important;min-height:68px!important;
    display:grid!important;grid-template-columns:52px minmax(0,1fr) 52px 52px!important;
    gap:6px!important;padding:6px!important;border:1px solid color-mix(in srgb,var(--muted) 17%,transparent)!important;
    border-radius:20px!important;background:color-mix(in srgb,var(--panel) 94%,transparent)!important;
    box-shadow:0 8px 30px rgba(0,0,0,.36)!important;backdrop-filter:blur(22px);z-index:400!important;
  }
  .mobile-youbar-item{width:52px;min-width:52px;height:54px;min-height:54px;padding:5px 2px!important;border-radius:15px!important;gap:2px!important}
  .mobile-youbar-item .app-icon{width:23px;height:23px}.mobile-youbar-item span{font-size:10px;font-weight:650}
  .mobile-youbar-item:active,.mobile-youbar-item.active{transform:scale(.96);background:var(--hover)}
  .mobile-youbar-profile{position:relative;height:54px;min-height:54px;border-radius:16px!important;padding:5px 12px 5px 6px!important;background:color-mix(in srgb,var(--input) 76%,transparent)!important;border:1px solid color-mix(in srgb,var(--muted) 12%,transparent);overflow:hidden}
  .mobile-youbar-profile .avatar{width:44px!important;height:44px!important;flex:0 0 44px;font-size:15px}
  .mobile-youbar-identity{gap:1px}.mobile-youbar-identity strong{font-size:14px}.mobile-youbar-identity small{font-size:11px;color:var(--muted)}
  .mobile-youbar-presence{position:absolute;left:38px;bottom:5px;width:13px;height:13px;border-radius:50%;border:3px solid var(--input);background:#23a55a}
  .mobile-youbar-presence.idle{background:#f0b232}.mobile-youbar-presence.dnd{background:#f23f43}.mobile-youbar-presence.offline{background:#80848e}
  .mobile-youbar-badge{position:absolute;top:3px;right:3px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#f23f43;color:#fff;font-size:9px;line-height:1;border:2px solid var(--panel)}
  .mobile-youbar-badge[hidden]{display:none!important}
  .main{padding-bottom:4px}.messages{padding-bottom:6px}
  .composer-wrap{padding-bottom:10px}.composer{border-radius:18px;min-height:46px}
  .message{padding-block:5px!important}
  body>.presence-popover{bottom:calc(var(--layout-mobile-nav) + 14px)!important;border-radius:18px!important}
  .modal-backdrop{padding:8px 8px calc(var(--layout-mobile-nav) + 8px)}
  .modal,.modal.modal-medium,.modal.modal-wide{border-radius:20px!important;max-height:calc(100dvh - var(--layout-mobile-nav) - 24px)}
  .mobile-inbox-modal{padding:18px 12px 12px!important}.mobile-inbox-head h2{margin:0}.mobile-inbox-head p{margin:4px 0 14px;color:var(--muted)}
  .mobile-inbox-list{display:flex;flex-direction:column;gap:4px;max-height:58vh;overflow:auto}
  .mobile-inbox-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:9px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);text-align:left}
  .mobile-inbox-list button:hover{background:var(--hover)}.mobile-inbox-list button span{display:flex;min-width:0;flex-direction:column}.mobile-inbox-list button small{color:var(--muted)}.mobile-inbox-list button>b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--accent);color:#fff}
  .mobile-inbox-empty{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:6px;color:var(--muted)}.mobile-inbox-empty strong{color:var(--strong);font-size:16px}
}

@media(max-width:700px){
  .composer-wrap{padding:0 max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .composer{min-height:46px;border-radius:12px;padding:5px 6px}
  .composer .icon-btn{width:36px;min-width:36px;height:36px}
  .message-edit-input{font-size:16px}
  .modal-backdrop:has(.messagebox){align-items:center;padding:16px}
  .modal:has(.messagebox){height:auto!important;max-height:calc(100dvh - 32px)!important;border-radius:12px!important}
  .messagebox-header{padding:20px 18px 14px}
  .messagebox-body{padding:0 18px}
  .messagebox-actions{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr}
  .messagebox-actions>button{width:100%;min-width:0}
  .messagebox-actions>.messagebox-ok:only-child{grid-column:1/-1}
}


@media(max-width:700px){.voice-users{padding-left:18px}.sidebar-channel-item.voice-current>.voice-channel-button::after{display:none}}

@media(max-width:700px){
  .voice-users{padding-left:24px;padding-right:2px}
  .voice-channel-button{min-height:38px;padding-top:7px;padding-bottom:7px}
  .voice-channel-join{opacity:.72}
}



@media(max-width:700px){
 html,body,#app{width:100%;max-width:100%;height:100dvh;min-height:100dvh;overflow:hidden}
 .shell{width:100%;height:100dvh;min-width:0;overflow:hidden}
 .main{min-width:0;min-height:0;overflow:hidden}.messages{min-width:0;padding-bottom:8px}.composer-wrap{padding-left:8px!important;padding-right:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}.composer{min-width:0}.composer textarea{min-width:0}
 .header{min-width:0;padding:0 8px}.header .head-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{min-width:0}.topic{display:none!important}
 .sidebar.open{transform:none!important}.rail.open{transform:none!important}.shell.mobile-panel-open .mobile-backdrop{display:block!important}
 .friends{padding:14px 10px}.friend{min-width:0;padding:10px 6px}.friend>div:nth-child(2){min-width:0;flex:1}.friend strong,.friend small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend .actions{flex:0 0 auto}
 .profile-card{max-width:100%;overflow:hidden}.profile-body h2{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
}

@media(max-width:700px){.friends{padding:18px 12px 96px}.friends-toolbar{align-items:flex-start}.friends-toolbar p{display:none}.friend{padding:10px 8px}.friend .actions{gap:5px}.friend-action{width:34px;height:34px}}

@media(max-width:700px){.admin-number-grid{grid-template-columns:1fr}}

@media(max-width:700px){
 html,body,#app{height:var(--app-viewport-height,100dvh)!important;min-height:var(--app-viewport-height,100dvh)!important;max-height:var(--app-viewport-height,100dvh)!important;overscroll-behavior:none}
 body{position:fixed;inset:var(--app-viewport-offset-top,0px) 0 auto 0;width:100%;touch-action:manipulation}
 #app,.shell{width:100%;max-width:100vw;overflow:hidden}
 .shell{height:var(--app-viewport-height,100dvh)!important;grid-template-rows:max(var(--layout-header),calc(var(--layout-header) + env(safe-area-inset-top))) minmax(0,1fr) calc(var(--layout-mobile-nav) + env(safe-area-inset-bottom))!important}
 .header{height:auto!important;min-height:var(--layout-header);padding-top:env(safe-area-inset-top)!important;overflow:hidden}
 .header-actions{flex:0 1 auto;gap:4px!important}.header-actions .search{display:none}.head-title{font-size:16px;flex:1}
 .main{height:auto!important;max-width:100vw;overflow:hidden!important}
 .messages{height:100%;max-width:100vw;overflow-x:hidden!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto}
 .message{max-width:100%;padding-left:10px!important;padding-right:8px!important}.message-content,.message-body,.message-text{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
 .message img,.message video,.message iframe,.file-attachment,.audio-attachment{max-width:100%!important}.message iframe{min-width:0!important}
 .composer-wrap{flex:none;max-width:100vw;background:var(--main);padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
 .composer{width:100%;max-width:100%;display:flex;align-items:flex-end;overflow:visible}.composer textarea{font-size:16px!important;max-height:min(34dvh,180px);line-height:1.35}.composer .icon-btn{flex:0 0 38px}
 .replying,.typing,.pending-attachment{max-width:100%;overflow:hidden}.pending-attachment{margin-left:8px;margin-right:8px}
 .mobile-youbar{bottom:max(8px,env(safe-area-inset-bottom))!important;max-width:calc(100vw - 16px);overflow:hidden}
 .mobile-youbar-profile{min-width:0}.mobile-youbar-identity{overflow:hidden}.mobile-youbar-identity strong,.mobile-youbar-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .rail{height:auto!important;padding-bottom:env(safe-area-inset-bottom)}
 .sidebar{max-width:calc(100vw - var(--layout-rail))!important;padding-top:env(safe-area-inset-top);overflow:hidden}.sidebar-title{flex:none}.sidebar-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sidebar .userbar{padding-bottom:max(6px,env(safe-area-inset-bottom));height:auto;min-height:var(--layout-userbar)}
 .members{max-width:92vw;overflow:hidden;padding-top:env(safe-area-inset-top)}.members>*{max-width:100%}
 .mobile-backdrop{inset:0 0 calc(var(--layout-mobile-nav) + env(safe-area-inset-bottom)) 0!important}
 .modal-backdrop{align-items:flex-end!important;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;overflow:hidden}
 .modal,.modal.modal-medium,.modal.modal-wide{width:100%!important;max-width:100%!important;max-height:calc(var(--app-viewport-height,100dvh) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;border-radius:18px 18px 12px 12px!important;overflow:hidden;display:flex;flex-direction:column}
 .modal>form,.modal>.modal-body,.settings-content,.search-dialog{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.modal-actions{position:sticky;bottom:0;z-index:2;flex-wrap:wrap;background:inherit;padding-bottom:max(2px,env(safe-area-inset-bottom))}.modal-actions>*{min-height:44px}
 .settings-layout{display:block!important;min-height:0}.settings-nav{position:static!important;width:100%!important;max-width:none!important;display:flex!important;overflow-x:auto;overflow-y:hidden;gap:4px;padding:8px!important;scroll-snap-type:x proximity}.settings-nav button{flex:0 0 auto;min-height:42px;scroll-snap-align:start}.settings-content{padding:16px 12px 100px!important}
 .friends{padding:14px 10px calc(var(--layout-mobile-nav) + 28px)!important}.friends-toolbar{gap:8px}.friend-requests-card,.friends-section{border-radius:12px}.friend{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.friend .actions{max-width:112px;flex-wrap:wrap;justify-content:flex-end}
 .profile-card,.account-hero,.settings-card,.voice-settings-card,.theme-card{max-width:100%;box-sizing:border-box}.admin-number-grid,.two-col,.three-col,.four-themes{grid-template-columns:1fr!important}
 body>.context-menu,body>.server-menu-popover,body>.presence-popover{max-width:calc(100vw - 16px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 24px)!important;overflow:auto!important}
 .mention-autocomplete{bottom:calc(var(--layout-mobile-nav) + env(safe-area-inset-bottom) + 70px)!important}
}

@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
 :root{--layout-header:44px;--layout-mobile-nav:56px}
 .mobile-youbar{height:54px!important;min-height:54px!important;grid-template-columns:46px minmax(0,1fr) 46px 46px!important}.mobile-youbar-item{height:44px;min-height:44px}.mobile-youbar-item span{display:none}.mobile-youbar-profile{height:44px;min-height:44px}.mobile-youbar-profile .avatar{width:36px!important;height:36px!important;flex-basis:36px}.mobile-youbar-presence{left:31px;bottom:4px}
 .modal-backdrop{align-items:center!important}.modal,.modal.modal-medium,.modal.modal-wide{max-height:calc(var(--app-viewport-height,100dvh) - 12px)!important}
}

@media(max-width:700px){
 :root.mobile-keyboard-open .mobile-youbar{display:none!important}
 :root.mobile-keyboard-open .shell{grid-template-rows:max(var(--layout-header),calc(var(--layout-header) + env(safe-area-inset-top))) minmax(0,1fr)!important;grid-template-areas:"header" "main"!important}
 :root.mobile-keyboard-open .composer-wrap{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
 :root.mobile-keyboard-open .mention-autocomplete{bottom:74px!important}
}

@media (max-width:700px){
  :root{
    --layout-rail:72px;
    --mobile-server-drawer-width:min(360px,94dvw);
  }
  .rail{
    left:0!important;
    width:var(--layout-rail)!important;
    min-width:var(--layout-rail)!important;
    max-width:var(--layout-rail)!important;
    padding-inline:12px!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    pointer-events:none;
  }
  .sidebar{
    left:var(--layout-rail)!important;
    width:calc(var(--mobile-server-drawer-width) - var(--layout-rail))!important;
    min-width:0!important;
    max-width:calc(100dvw - var(--layout-rail))!important;
    pointer-events:none;
  }
  .shell.mobile-panel-open .rail,
  .shell.mobile-panel-open .sidebar,
  .rail.open,
  .sidebar.open{
    pointer-events:auto!important;
  }
  .sidebar.open{
    left:var(--layout-rail)!important;
    width:calc(var(--mobile-server-drawer-width) - var(--layout-rail))!important;
  }
  .server-list,
  .server-btn{
    position:relative;
    z-index:1;
    pointer-events:auto!important;
    touch-action:manipulation;
  }
  .server-btn{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
  }
  .mobile-backdrop{
    z-index:240!important;
  }
  .rail{z-index:252!important}
  .sidebar{z-index:251!important}
}

@media (max-width:700px){
  :root{
    --mobile-header-h:calc(52px + env(safe-area-inset-top));
    --mobile-nav-h:calc(76px + env(safe-area-inset-bottom));
    --mobile-rail-w:68px;
    --mobile-drawer-w:min(360px,100vw);
    --mobile-content-w:calc(var(--mobile-drawer-w) - var(--mobile-rail-w));
  }
  html,body,#app{width:100%;height:100%;min-height:0;max-height:none;overflow:hidden!important}
  body{position:fixed!important;inset:0!important;touch-action:manipulation;background:var(--bg)}
  #app{height:var(--app-viewport-height,100dvh)!important}
  .shell,.shell.members-hidden,.shell.members-unavailable{
    width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--mobile-header-h) minmax(0,1fr) var(--mobile-nav-h)!important;
    grid-template-areas:"header" "main" "mobile-nav"!important;overflow:hidden!important;
  }
  .header{grid-area:header!important;position:relative!important;inset:auto!important;width:100%!important;height:var(--mobile-header-h)!important;min-height:var(--mobile-header-h)!important;padding:env(safe-area-inset-top) 8px 0!important;margin:0!important;border-radius:0!important;z-index:30!important}
  .main{grid-area:main!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border-radius:0!important;overflow:hidden!important}
  .mobile-youbar{grid-area:mobile-nav!important;position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;height:var(--mobile-nav-h)!important;min-height:var(--mobile-nav-h)!important;margin:0!important;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;border-width:1px 0 0!important;border-radius:0!important;z-index:40!important;box-shadow:0 -8px 28px rgba(0,0,0,.22)!important}
  .mobile-youbar-item,.mobile-youbar-profile{min-width:0;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-menu,.member-toggle,.header-actions .icon-btn{min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important}
  .head-title{min-width:0;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic{display:none!important}.header-actions{min-width:0;margin-left:auto}.header-actions .search{display:none!important}

  /* Left navigation is a single coordinated drawer: fixed rail + channel pane. */
  .rail,.sidebar,.members{margin:0!important;border-radius:0!important;visibility:visible!important;will-change:transform}
  .rail{
    display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:var(--mobile-nav-h)!important;
    width:var(--mobile-rail-w)!important;min-width:var(--mobile-rail-w)!important;max-width:var(--mobile-rail-w)!important;height:auto!important;
    padding:max(10px,env(safe-area-inset-top)) 10px 10px!important;z-index:302!important;overflow-x:hidden!important;overflow-y:auto!important;
    transform:translate3d(-100%,0,0)!important;transition:transform .2s ease!important;pointer-events:none!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .sidebar{
    display:flex!important;position:fixed!important;left:var(--mobile-rail-w)!important;top:0!important;bottom:var(--mobile-nav-h)!important;
    width:var(--mobile-content-w)!important;min-width:0!important;max-width:calc(100vw - var(--mobile-rail-w))!important;height:auto!important;
    padding:env(safe-area-inset-top) 0 0!important;z-index:301!important;overflow:hidden!important;
    transform:translate3d(calc(-100% - var(--mobile-rail-w)),0,0)!important;transition:transform .2s ease!important;pointer-events:none!important;
    box-shadow:12px 0 34px rgba(0,0,0,.42)!important;
  }
  .shell.mobile-panel-open .rail,.rail.open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .shell.mobile-panel-open .sidebar,.sidebar.open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .server-list{min-height:0;overflow:visible}.server-btn{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;touch-action:manipulation!important}
  .server-list.server-rail-sorting>.server-btn{touch-action:none!important}
  .server-list>.server-btn.server-rail-dragging{opacity:.62!important;outline-offset:1px}
  .sidebar-title{height:52px!important;min-height:52px!important}.sidebar-scroll{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.channel{min-height:44px!important}.userbar{flex:none!important;min-height:60px!important;height:auto!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}

  /* Right member drawer. */
  .members{
    display:block!important;position:fixed!important;right:0!important;left:auto!important;top:0!important;bottom:var(--mobile-nav-h)!important;
    width:min(340px,92vw)!important;min-width:0!important;max-width:92vw!important;height:auto!important;padding:max(12px,env(safe-area-inset-top)) 8px 12px!important;
    z-index:303!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translate3d(100%,0,0)!important;transition:transform .2s ease!important;pointer-events:none!important;
    box-shadow:-12px 0 34px rgba(0,0,0,.42)!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  }
  .members.mobile-open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .shell.members-unavailable>.members,.shell.members-unavailable .member-toggle,.shell.members-unavailable .mobile-youbar-members{display:none!important}
  .mobile-backdrop{display:block!important;position:fixed!important;inset:0 0 var(--mobile-nav-h) 0!important;z-index:300!important;margin:0!important;border:0!important;border-radius:0!important;background:rgba(0,0,0,.56)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s ease,visibility .2s ease!important;touch-action:none}
  .shell.mobile-panel-open .mobile-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.mobile-drawer-open{overflow:hidden!important}

  /* Chat, composer and keyboard. */
  .messages,.friends{min-width:0!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
  .messages{padding-bottom:8px!important}.message{max-width:100%!important;grid-template-columns:46px minmax(0,1fr)!important;padding:5px 8px!important}.message-content,.content,.msg-head{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere}.message img,.message video,.message iframe,.file-attachment,.audio-attachment{max-width:100%!important;height:auto}
  .composer-wrap{width:100%!important;max-width:100%!important;flex:none!important;padding:0 8px max(8px,env(safe-area-inset-bottom))!important}.composer{width:100%!important;min-width:0!important}.composer textarea{font-size:16px!important;min-width:0!important;max-height:min(34dvh,180px)!important}.composer .icon-btn{min-width:44px!important;min-height:44px!important}
  .voice-stage{position:fixed!important;inset:var(--mobile-header-h) 0 var(--mobile-nav-h) 0!important;z-index:120!important}.voice-grid{grid-template-columns:1fr!important;padding:10px!important}.callbar{min-height:64px;flex-wrap:wrap}

  /* Mobile overlays and forms remain inside the visual viewport. */
  .modal-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;align-items:flex-end!important;overflow:hidden!important}
  .modal,.modal.modal-medium,.modal.modal-wide,.modal.modal-full{width:100%!important;max-width:100%!important;max-height:calc(var(--app-viewport-height,100dvh) - 16px)!important;border-radius:18px 18px 0 0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .modal>form,.modal>.modal-body,.settings-content,.search-dialog{min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.modal-actions{flex:none;position:sticky;bottom:0;z-index:3;gap:8px!important;flex-wrap:wrap}.modal-actions button{min-height:44px}
  .settings-layout{display:flex!important;flex-direction:column!important;min-height:0!important}.settings-nav{position:static!important;display:flex!important;width:100%!important;max-width:none!important;flex:0 0 auto!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap;scroll-snap-type:x proximity}.settings-nav button{flex:0 0 auto;min-height:44px;scroll-snap-align:start}.settings-content{padding:14px 10px 90px!important}.admin-number-grid,.two-col,.three-col,.four-themes{grid-template-columns:1fr!important}
  body>.context-menu,body>.server-menu-popover,body>.presence-popover{max-width:calc(100vw - 16px)!important;max-height:calc(var(--app-viewport-height,100dvh) - 24px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
  button,[role="button"],input,select,textarea{touch-action:manipulation}
}

@media (max-width:700px) and (orientation:landscape) and (max-height:500px){
  :root{--mobile-header-h:calc(44px + env(safe-area-inset-top));--mobile-nav-h:calc(58px + env(safe-area-inset-bottom))}
  .mobile-youbar{grid-template-columns:46px minmax(0,1fr) 46px 46px!important;padding-top:4px!important}.mobile-youbar-item,.mobile-youbar-profile{min-height:44px!important;height:44px!important}.mobile-youbar-item span{display:none!important}.mobile-youbar-profile .avatar{width:36px!important;height:36px!important;flex-basis:36px!important}
}

@media (max-width:700px){
  :root.mobile-keyboard-open .shell{grid-template-rows:var(--mobile-header-h) minmax(0,1fr)!important;grid-template-areas:"header" "main"!important}
  :root.mobile-keyboard-open .mobile-youbar{display:none!important}
  :root.mobile-keyboard-open .rail,:root.mobile-keyboard-open .sidebar,:root.mobile-keyboard-open .members,:root.mobile-keyboard-open .mobile-backdrop{bottom:0!important}
  :root.mobile-keyboard-open .composer-wrap{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
}

@media(max-width:700px){.channel-access-row{grid-template-columns:minmax(0,1fr) 120px;gap:8px}.channel-access-manager{max-width:100%}}

/* v1.56 mobile context menus keep translated labels visible. */
@media (max-width:700px) {
  body > .context-menu {
    width: max-content !important;
    min-width: min(220px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
  }
  body > .context-menu .context-menu-text {
    max-width: calc(100vw - 92px) !important;
  }
}


/* v2.27 channel settings mobile overrides */
@media(max-width:700px){.channel-access-row{grid-template-columns:1fr}.modal:has(.app-channel-access),.modal:has(.app-channel-settings){width:100%!important;height:calc(var(--app-viewport-height,100dvh) - 8px)!important;max-height:none!important;border-radius:16px 16px 0 0!important}}

/* Keep profile identities on one ellipsized row on mobile. */
@media(max-width:700px){
  .profile-body h2.profile-name-heading{flex-wrap:nowrap;min-width:0;max-width:100%}
}

/* v2.44 mobile voice stage and settings */
@media(max-width:700px){
 .voice-stage{inset:0!important;z-index:160!important}
 .voice-stage-head{padding-top:env(safe-area-inset-top)!important;height:calc(50px + env(safe-area-inset-top))!important}
 .voice-stage .callbar{padding-bottom:max(7px,env(safe-area-inset-bottom))!important;height:calc(66px + env(safe-area-inset-bottom))!important;min-height:calc(66px + env(safe-area-inset-bottom))!important}
 .voice-stage-toolbar{overflow-x:auto;scrollbar-width:none}.voice-stage-toolbar::-webkit-scrollbar{display:none}
 .user-settings-content .voice-settings-card{padding:16px;margin-bottom:10px}
 .voice-settings-head{display:block!important}
 .voice-settings-actions>*{flex:1 1 140px}
 .voice-camera-preview{aspect-ratio:4/3}
 .voice-channel-options-grid{grid-template-columns:1fr!important}
}

/* v2.45 — keep voice/video inside the authoritative application mobile shell. */
@media(max-width:700px){
  body > .voice-stage{
    position:fixed!important;
    inset:var(--mobile-header-h,52px) 0 var(--mobile-nav-h,68px) 0!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    z-index:120!important;
    grid-template-rows:50px minmax(0,1fr) 66px!important;
  }
  body > .voice-stage:fullscreen{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:999!important;
  }
  body > .voice-stage .voice-stage-head{
    height:50px!important;
    padding:0 max(6px,env(safe-area-inset-right)) 0 max(6px,env(safe-area-inset-left))!important;
  }
  body > .voice-stage .voice-stage-channel-icon{width:30px;height:30px;border-radius:8px}
  body > .voice-stage .voice-stage-title{gap:7px!important}
  body > .voice-stage .voice-stage-title>div{min-width:48px!important;max-width:34vw!important}
  body > .voice-stage .voice-stage-title strong{font-size:13px!important}
  body > .voice-stage .voice-stage-title small,
  body > .voice-stage .voice-stage-quality{display:none!important}
  body > .voice-stage .voice-stage-connection{margin-left:2px!important;padding:4px 6px!important;font-size:9px!important;gap:4px!important}
  body > .voice-stage .voice-stage-connection i{width:6px;height:6px}
  body > .voice-stage .voice-stage-toolbar{max-width:54%!important;gap:1px!important;overflow:hidden!important}
  body > .voice-stage .voice-view-switch{padding:2px!important}
  body > .voice-stage .voice-stage-toolbar .icon-btn{width:30px!important;height:30px!important;min-width:30px!important}
  body > .voice-stage .voice-stage-body{display:block!important;position:relative!important;overflow:hidden!important}
  body > .voice-stage .voice-canvas{height:100%!important;padding:6px!important}
  body > .voice-stage .voice-participant-panel{
    position:absolute!important;
    inset:0 0 0 auto!important;
    width:min(86vw,290px)!important;
    max-width:100%!important;
    z-index:8!important;
  }
  body > .voice-stage.participants-hidden .voice-participant-panel{
    display:flex!important;
    transform:translateX(105%)!important;
    pointer-events:none!important;
  }
  body > .voice-stage[data-view="grid"] .voice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(118px,1fr)!important;
    gap:6px!important;
    padding:0!important;
  }
  body > .voice-stage[data-view="focus"] .video-tile.focused{height:calc(100% - 80px)!important;min-height:150px!important}
  body > .voice-stage[data-view="focus"] .video-tile:not(.focused){flex-basis:120px!important;width:120px!important;min-height:68px!important;max-height:68px!important}
  body > .voice-stage .video-tile{min-height:118px!important;border-radius:8px!important}
  body > .voice-stage .callbar{
    height:66px!important;
    min-height:66px!important;
    padding:6px max(5px,env(safe-area-inset-right)) 6px max(5px,env(safe-area-inset-left))!important;
    gap:4px!important;
    justify-content:space-around!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
  }
  body > .voice-stage .callbar-group{gap:3px!important}
  body > .voice-stage .callbar button{
    width:42px!important;
    min-width:42px!important;
    height:46px!important;
    padding:0!important;
    border-radius:11px!important;
  }
  body > .voice-stage .callbar button span{font-size:8px!important;max-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body > .voice-stage .callbar .hangup{width:48px!important;min-width:48px!important;margin-left:0!important}
  .voice-channel-options,.user-settings-content .voice-settings-card{padding:14px!important}
  .voice-channel-options-head,.voice-settings-card-head{gap:10px!important}
  .voice-channel-options-grid,.voice-device-grid-audio,.voice-volume-grid,.voice-input-mode-grid{grid-template-columns:1fr!important}
}

@media(max-width:430px){
  body > .voice-stage .voice-stage-title>div{max-width:29vw!important}
  body > .voice-stage .voice-view-switch{display:none!important}
  body > .voice-stage .voice-stage-toolbar{max-width:44%!important}
  body > .voice-stage[data-view="grid"] .voice-grid{grid-template-columns:1fr!important;grid-auto-rows:minmax(132px,1fr)!important}
}

@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  body > .voice-stage{grid-template-rows:44px minmax(0,1fr) 58px!important}
  body > .voice-stage .voice-stage-head{height:44px!important}
  body > .voice-stage .callbar{height:58px!important;min-height:58px!important;padding-block:4px!important}
  body > .voice-stage .callbar button{height:42px!important}
  body > .voice-stage[data-view="grid"] .voice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;grid-auto-rows:minmax(92px,1fr)!important}
}
@media(max-width:700px){body > .voice-stage .voice-stage-connection{display:inline-flex!important}}

/* v2.46 — authoritative mobile voice-stage fit. */
@media(max-width:700px){
  body.voice-stage-open .main,
  body.voice-stage-open .members{visibility:hidden!important;pointer-events:none!important}
  body.voice-stage-open .header{visibility:visible!important;pointer-events:auto!important}
  body > .voice-stage{
    inset:var(--mobile-header-h,var(--layout-header,52px)) 0 var(--mobile-nav-h,var(--layout-mobile-nav,68px)) 0!important;
    grid-template-rows:46px minmax(0,1fr) 58px!important;
    width:auto!important;
    height:auto!important;
    z-index:120!important;
  }
  body > .voice-stage:fullscreen{inset:0!important;width:100%!important;height:100%!important;grid-template-rows:50px minmax(0,1fr) 64px!important;z-index:999!important}
  body > .voice-stage .voice-stage-head{height:46px!important;padding:0 6px!important;gap:4px!important}
  body > .voice-stage .voice-stage-title{gap:5px!important}
  body > .voice-stage .voice-stage-channel-icon{display:grid!important;flex-basis:28px!important;width:28px!important;height:28px!important}
  body > .voice-stage .voice-stage-title>div{min-width:0!important;max-width:none!important}
  body > .voice-stage .voice-stage-title strong{font-size:12px!important;line-height:15px!important}
  body > .voice-stage .voice-stage-title small,
  body > .voice-stage .voice-stage-quality{display:none!important}
  body > .voice-stage .voice-stage-connection{display:inline-flex!important;padding:3px 5px!important;font-size:8px!important;gap:3px!important}
  body > .voice-stage .voice-stage-connection i{width:5px!important;height:5px!important}
  body > .voice-stage .voice-stage-toolbar{gap:0!important}
  body > .voice-stage .voice-stage-toolbar .icon-btn{width:28px!important;min-width:28px!important;height:28px!important}
  body > .voice-stage .voice-stage-body{display:block!important;overflow:hidden!important}
  body > .voice-stage .voice-canvas{height:100%!important;padding:5px!important}
  body > .voice-stage .voice-grid{height:100%!important}
  body > .voice-stage[data-view="focus"] .voice-grid{grid-template-rows:minmax(0,1fr) 68px!important;gap:5px!important}
  body > .voice-stage[data-view="focus"] .voice-focus-strip{gap:5px!important}
  body > .voice-stage[data-view="focus"] .voice-focus-strip .video-tile{flex-basis:112px!important;width:112px!important}
  body > .voice-stage .voice-participant-panel{position:absolute!important;inset:0 0 0 auto!important;width:min(86vw,288px)!important;z-index:8!important;box-shadow:-12px 0 30px #0009!important;transition:transform .18s ease!important}
  body > .voice-stage.participants-hidden .voice-participant-panel{display:flex!important;transform:translateX(105%)!important;pointer-events:none!important}
  body > .voice-stage .voice-participant-placeholder .avatar.large{width:52px!important;height:52px!important}
  body > .voice-stage .voice-participant-placeholder{gap:6px!important;padding:8px!important}
  body > .voice-stage .voice-participant-placeholder strong{font-size:12px!important}
  body > .voice-stage .callbar{height:58px!important;min-height:58px!important;padding:5px max(4px,env(safe-area-inset-right)) 5px max(4px,env(safe-area-inset-left))!important;gap:4px!important;justify-content:center!important;overflow:hidden!important}
  body > .voice-stage .callbar-group{gap:3px!important}
  body > .voice-stage .callbar button{width:40px!important;min-width:40px!important;height:42px!important;padding:0!important;border-radius:10px!important}
  body > .voice-stage .callbar button .app-icon{width:18px!important;height:18px!important}
  body > .voice-stage .callbar button span{display:none!important}
  body > .voice-stage .callbar .hangup{width:46px!important;min-width:46px!important;margin-left:0!important}
}
@media(max-width:390px){
  body > .voice-stage .voice-stage-channel-icon,
  body > .voice-stage .voice-view-switch{display:none!important}
  body > .voice-stage .voice-stage-toolbar .icon-btn{width:27px!important;min-width:27px!important}
  body > .voice-stage .callbar{gap:2px!important;padding-inline:2px!important}
  body > .voice-stage .callbar-group{gap:2px!important}
  body > .voice-stage .callbar button{width:38px!important;min-width:38px!important}
  body > .voice-stage .callbar .hangup{width:42px!important;min-width:42px!important}
}
@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  body > .voice-stage{grid-template-rows:40px minmax(0,1fr) 50px!important}
  body > .voice-stage .voice-stage-head{height:40px!important}
  body > .voice-stage .callbar{height:50px!important;min-height:50px!important;padding-block:3px!important}
  body > .voice-stage .callbar button{height:38px!important}
  body > .voice-stage[data-view="focus"] .voice-grid{grid-template-rows:minmax(0,1fr) 58px!important}
}

/* v2.47 — exact mobile shell fit and compact unified voice-stage controls. */
@media(max-width:700px){
  body > .voice-stage{
    position:fixed!important;
    inset:var(--voice-stage-top,var(--layout-header,48px)) var(--voice-stage-right,0px) var(--voice-stage-bottom,var(--layout-mobile-nav,68px)) var(--voice-stage-left,0px)!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    grid-template-rows:44px minmax(0,1fr) 52px!important;
    border-radius:0!important;
  }
  body > .voice-stage:fullscreen{inset:0!important;width:100%!important;height:100%!important;grid-template-rows:48px minmax(0,1fr) 58px!important}
  body > .voice-stage .voice-stage-head{
    display:flex!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 4px 0 7px!important;
    gap:4px!important;
  }
  body > .voice-stage .voice-stage-title{gap:5px!important}
  body > .voice-stage .voice-stage-channel-icon{display:grid!important;flex-basis:27px!important;width:27px!important;height:27px!important}
  body > .voice-stage .voice-stage-title strong{font-size:11px!important;line-height:14px!important}
  body > .voice-stage .voice-stage-title small,
  body > .voice-stage .voice-stage-quality{display:none!important}
  body > .voice-stage .voice-stage-head-actions{gap:3px!important}
  body > .voice-stage .voice-stage-status{max-width:64px!important}
  body > .voice-stage .voice-stage-connection{min-height:21px!important;padding:3px 5px!important;font-size:8px!important}
  body > .voice-stage .voice-stage-toolbar{height:31px!important;padding:1px!important;gap:0!important;border-radius:7px!important}
  body > .voice-stage .voice-stage-toolbar .icon-btn{flex-basis:29px!important;width:29px!important;min-width:29px!important;height:29px!important;min-height:29px!important;padding:5px!important}
  body > .voice-stage .voice-canvas{padding:5px!important}
  body > .voice-stage .voice-participant-panel>header{height:40px!important;min-height:40px!important;flex-basis:40px!important}
  body > .voice-stage .callbar{
    height:52px!important;
    min-height:52px!important;
    padding:4px max(4px,env(safe-area-inset-right)) 4px max(4px,env(safe-area-inset-left))!important;
    gap:3px!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  body > .voice-stage .callbar-group{gap:2px!important}
  body > .voice-stage .callbar button{width:38px!important;min-width:38px!important;height:40px!important;min-height:40px!important;padding:0!important;border-radius:9px!important}
  body > .voice-stage .callbar button span{display:none!important}
  body > .voice-stage .callbar .hangup{width:44px!important;min-width:44px!important;height:40px!important;margin-left:0!important}
}
@media(max-width:390px){
  body > .voice-stage .voice-stage-channel-icon{display:none!important}
  body > .voice-stage .voice-stage-status{max-width:54px!important}
  body > .voice-stage .voice-stage-toolbar .icon-btn{flex-basis:27px!important;width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important}
  body > .voice-stage .callbar{gap:2px!important;padding-inline:2px!important}
  body > .voice-stage .callbar button{width:36px!important;min-width:36px!important}
  body > .voice-stage .callbar .hangup{width:40px!important;min-width:40px!important}
}
@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  body > .voice-stage{grid-template-rows:40px minmax(0,1fr) 46px!important}
  body > .voice-stage .voice-stage-head{height:40px!important;min-height:40px!important}
  body > .voice-stage .callbar{height:46px!important;min-height:46px!important;padding-block:3px!important}
  body > .voice-stage .callbar button{height:36px!important;min-height:36px!important}
}

/* v2.48 — mobile voice stage follows application header/nav bounds and compact controls. */
@media(max-width:700px){
  body.voice-stage-open .header{visibility:visible!important;pointer-events:auto!important}
  body.voice-stage-open .main,
  body.voice-stage-open .members{visibility:hidden!important;pointer-events:none!important}
  body > .voice-stage{
    position:fixed!important;
    inset:var(--voice-stage-top,var(--mobile-header-h,52px)) 0 var(--voice-stage-bottom,var(--mobile-nav-h,68px)) 0!important;
    display:grid!important;
    grid-template-rows:42px minmax(0,1fr)!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    border-radius:0!important;
    z-index:120!important;
  }
  body > .voice-stage:fullscreen{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    grid-template-rows:46px minmax(0,1fr)!important;
    z-index:999!important;
  }
  body > .voice-stage .voice-stage-head{
    height:42px!important;
    min-height:42px!important;
    padding:0 max(6px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))!important;
    gap:5px!important;
  }
  body > .voice-stage .voice-stage-title{
    grid-template-columns:18px minmax(0,1fr)!important;
    gap:6px!important;
  }
  body > .voice-stage .voice-stage-channel-icon{
    display:grid!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    border-radius:0!important;
    background:none!important;
  }
  body > .voice-stage .voice-stage-title-line strong{font-size:12px!important;line-height:16px!important}
  body > .voice-stage .voice-stage-title-copy > small,
  body > .voice-stage .voice-stage-quality{display:none!important}
  body > .voice-stage .voice-stage-head-actions{height:30px!important;gap:2px!important}
  body > .voice-stage .voice-stage-view-switch,
  body > .voice-stage .voice-stage-toolbar{height:30px!important;padding:1px!important;gap:0!important}
  body > .voice-stage :is(.voice-stage-view-switch,.voice-stage-toolbar) .icon-btn{
    width:26px!important;
    min-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    padding:4px!important;
  }
  body > .voice-stage .voice-stage-body{display:block!important;position:relative!important;min-height:0!important}
  body > .voice-stage .voice-canvas{height:100%!important;padding:6px 6px 64px!important}
  body > .voice-stage .voice-participant-panel{
    position:absolute!important;
    inset:0 0 0 auto!important;
    width:min(86vw,280px)!important;
    max-width:100%!important;
    z-index:20!important;
  }
  body > .voice-stage.participants-hidden .voice-participant-panel{
    display:flex!important;
    transform:translateX(105%)!important;
    pointer-events:none!important;
  }
  body > .voice-stage .video-tile{min-height:0!important;border-radius:8px!important}
  body > .voice-stage .callbar{bottom:7px!important;max-width:calc(100% - 10px)!important}
  body > .voice-stage .callbar-shell{
    min-height:48px!important;
    max-width:100%!important;
    padding:5px!important;
    gap:3px!important;
    border-radius:15px!important;
  }
  body > .voice-stage .callbar-group{gap:3px!important}
  body > .voice-stage .callbar-divider{height:22px!important;margin-inline:1px!important}
  body > .voice-stage .callbar button{
    width:37px!important;
    min-width:37px!important;
    height:37px!important;
    min-height:37px!important;
    flex-basis:37px!important;
    padding:8px!important;
  }
  body > .voice-stage .callbar .hangup{
    width:42px!important;
    min-width:42px!important;
    height:37px!important;
    flex-basis:42px!important;
  }
}
@media(max-width:430px){
  body > .voice-stage .voice-stage-view-switch{display:none!important}
  body > .voice-stage .voice-stage-title{grid-template-columns:16px minmax(0,1fr)!important}
  body > .voice-stage .voice-stage-channel-icon{width:16px!important;height:16px!important;min-width:16px!important}
  body > .voice-stage .voice-stage-connection{height:16px!important;min-height:16px!important;padding-inline:4px!important;font-size:8px!important}
}
@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  body > .voice-stage{grid-template-rows:38px minmax(0,1fr)!important}
  body > .voice-stage .voice-stage-head{height:38px!important;min-height:38px!important}
  body > .voice-stage .voice-canvas{padding-bottom:58px!important}
  body > .voice-stage .callbar{bottom:5px!important}
  body > .voice-stage .callbar-shell{min-height:46px!important;padding:4px!important}
  body > .voice-stage .callbar button{width:35px!important;min-width:35px!important;height:35px!important;flex-basis:35px!important}
  body > .voice-stage .callbar .hangup{width:40px!important;min-width:40px!important;height:35px!important;flex-basis:40px!important}
}
@media(max-width:700px){
  body > .voice-stage .voice-stage-head-actions{height:30px!important;padding:2px!important;gap:0!important}
  body > .voice-stage .voice-stage-view-switch,
  body > .voice-stage .voice-stage-toolbar{height:26px!important;padding:0!important;border:0!important;background:none!important}
  body > .voice-stage .voice-stage-toolbar::before{height:16px!important;margin-inline:1px!important}
}

/* v2.50 — authoritative mobile voice-stage containment. */
@media(max-width:700px){
  body > .voice-stage{
    box-sizing:border-box!important;
    width:auto!important;
    height:auto!important;
    max-width:100vw!important;
    max-height:calc(100vh - var(--voice-stage-top,var(--mobile-header-h,52px)) - var(--voice-stage-bottom,var(--mobile-nav-h,68px)))!important;
    border-right:0!important;
    overflow:hidden!important;
  }
  body > .voice-stage .voice-stage-head{
    grid-template-columns:minmax(0,1fr) max-content!important;
    width:100%!important;
    max-width:100%!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 max(4px,env(safe-area-inset-right)) 0 max(7px,env(safe-area-inset-left))!important;
    gap:4px!important;
    overflow:hidden!important;
  }
  body > .voice-stage .voice-stage-head-actions{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    padding:2px!important;
    gap:0!important;
    overflow:hidden!important;
  }
  body > .voice-stage .voice-stage-head-actions > .icon-btn{
    flex:0 0 25px!important;
    width:25px!important;
    min-width:25px!important;
    height:25px!important;
    min-height:25px!important;
    padding:4px!important;
  }
  body > .voice-stage .voice-stage-action-divider{height:16px!important;margin-inline:1px!important}
  body > .voice-stage .voice-stage-view-switch,
  body > .voice-stage .voice-stage-toolbar,
  body > .voice-stage .voice-stage-toolbar::before{display:none!important}
  body > .voice-stage .voice-canvas{max-width:100%!important;padding:5px 5px 61px!important}
  body > .voice-stage .callbar{bottom:6px!important;max-width:calc(100% - 10px)!important}
  body > .voice-stage .callbar-shell{max-width:100%!important;min-height:46px!important;padding:4px!important;gap:2px!important;overflow:hidden!important}
  body > .voice-stage .callbar-group{gap:2px!important}
  body > .voice-stage .callbar button{flex-basis:35px!important;width:35px!important;min-width:35px!important;height:35px!important;min-height:35px!important;padding:7px!important}
  body > .voice-stage .callbar .hangup{flex-basis:40px!important;width:40px!important;min-width:40px!important;height:35px!important}
}
@media(max-width:430px){
  body > .voice-stage .voice-stage-head-actions > .voice-view-button[data-voice-view="focus"]{display:none!important}
  body > .voice-stage .voice-stage-head-actions > .icon-btn{flex-basis:24px!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important}
  body > .voice-stage .callbar button{flex-basis:33px!important;width:33px!important;min-width:33px!important;height:33px!important;min-height:33px!important;padding:6px!important}
  body > .voice-stage .callbar .hangup{flex-basis:38px!important;width:38px!important;min-width:38px!important;height:33px!important}
}

/* v2.51 — mobile voice actions remain one inline row. */
@media(max-width:700px){
  body > .voice-stage .voice-stage-head-actions{
    display:inline-flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:2px!important;
    width:auto!important;
    min-width:0!important;
    height:28px!important;
    min-height:28px!important;
    padding:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
  }
  body > .voice-stage .voice-stage-head-actions > button.icon-btn{
    display:inline-flex!important;
    flex:0 0 26px!important;
    width:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    max-height:26px!important;
    margin:0!important;
    padding:5px!important;
    transform:none!important;
  }
  body > .voice-stage .voice-stage-action-divider{flex:0 0 1px!important;width:1px!important;height:15px!important;margin:0!important}
}
@media(max-width:430px){
  body > .voice-stage .voice-view-button[data-voice-view="focus"]{display:none!important}
  body > .voice-stage .voice-stage-action-divider:first-of-type{display:none!important}
}

/* v1.1.0.0 Aurora: Developer Portal mobile layout. */
@media(max-width:700px){
  .main.developer-main[data-developer-surface="1"]{padding:0!important}
  .developer-landing,.developer-application,.developer-docs{width:calc(100% - 24px);padding:18px 0 44px}
  .developer-hero{gap:20px;padding:22px;border-radius:15px}
  .developer-hero h1,.developer-authorize-card h1{font-size:29px}
  .developer-hero>.primary{width:100%!important}
  .developer-section-heading{align-items:flex-start;margin-top:25px}
  .developer-app-grid{grid-template-columns:1fr}
  .developer-app-card{min-height:96px;padding:14px}
  .developer-app-avatar{width:52px;height:52px;border-radius:15px}
  .developer-app-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}
  .developer-app-header>.developer-app-avatar{width:48px;height:48px}
  .developer-app-header-status{grid-column:1/-1;justify-items:start}
  .developer-app-header h1{font-size:20px}
  .developer-tabs{margin-inline:-2px}
  .developer-tab{min-height:36px;padding-inline:11px;font-size:11px}
  .developer-panel,.developer-doc-card{padding:17px;border-radius:13px}
  .developer-panel-heading,.developer-page-heading{align-items:flex-start;flex-direction:column}
  .developer-form-actions,.developer-authorize-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .developer-form-actions>button,.developer-authorize-actions>button{width:100%!important}
  .developer-copy-field,.developer-token-reveal{grid-template-columns:minmax(0,1fr) 40px}
  .developer-token-reveal>.developer-copy-token{font-size:0!important;width:40px!important;min-width:40px!important;padding:9px!important}
  .developer-token-reveal>.developer-copy-token svg{margin:0!important}
  .developer-token-summary{grid-template-columns:1fr}
  .developer-token-summary>button{width:100%!important}
  .developer-server-row{grid-template-columns:auto minmax(0,1fr)}
  .developer-server-row>button{grid-column:1/-1;width:100%!important}
  .developer-page-heading h1{font-size:29px}
  .developer-endpoint{grid-template-columns:54px minmax(0,1fr)}
  .developer-authorize{padding:18px 12px}
  .developer-authorize-card{padding:22px 18px;border-radius:16px}
  .developer-modal{min-width:min(100%,calc(100vw - 50px))}
}
@media(max-width:400px){
  .developer-app-card{grid-template-columns:auto minmax(0,1fr)}
  .developer-app-card>svg{display:none}
  .developer-form-actions,.developer-authorize-actions{grid-template-columns:1fr}
  .developer-hero h1,.developer-page-heading h1,.developer-authorize-card h1{font-size:25px}
}

/* v1.1.1.0 Aurora: refined Developer Portal mobile layout. */
@media(max-width:700px){
  .developer-landing,.developer-application,.developer-docs{width:calc(100% - 24px);padding-top:18px}
  .developer-portal-header{align-items:flex-start;flex-direction:column;padding-bottom:20px}
  .developer-portal-header h1,.developer-doc-header h1{font-size:27px}
  .developer-portal-header>.primary{width:100%!important}
  .developer-app-header{grid-template-columns:auto auto minmax(0,1fr);gap:10px}
  .developer-app-header-status{grid-column:1/-1;justify-items:start;padding-left:46px}
  .developer-settings-grid,.developer-bot-overview-grid{grid-template-columns:1fr}
  .developer-tabs{top:0;margin-inline:-2px}
  .developer-doc-content{gap:30px}
  .developer-doc-section-heading h2{font-size:20px}
  .developer-doc-card{padding:16px}
  .developer-language-heading{align-items:flex-start;flex-direction:column}
  .developer-language-card>.developer-code-block{margin:0 12px 12px}
  .developer-endpoint{grid-template-columns:54px minmax(0,1fr);padding:10px}
  .developer-endpoint p{grid-column:1/-1;padding-left:0}
  .developer-app-doc-intro{grid-template-columns:1fr}
  .developer-doc-two-column{grid-template-columns:1fr}
}
@media(max-width:430px){
  .developer-app-header{grid-template-columns:auto minmax(0,1fr)}
  .developer-app-header>.developer-app-avatar{display:none}
  .developer-app-header-status{padding-left:0}
  .developer-section-heading{align-items:flex-start}
  .developer-status-grid{grid-template-columns:1fr}
  .developer-language-heading>span{display:none}
}

/* v1.1.1.1 Aurora: Developer Portal button fitting. */
@media(max-width:700px){
  .developer-portal-header>.primary{width:100%!important}
  .developer-form-actions,.developer-authorize-actions{display:flex;flex-wrap:wrap}
  .developer-form-actions>button,.developer-authorize-actions>button{flex:1 1 150px;width:auto!important;min-width:0}
  .developer-form-actions.sticky{margin-inline:-2px;padding-bottom:2px}
  .developer-create-bot-panel{grid-template-columns:1fr;justify-items:start}
  .developer-create-bot-panel .developer-bot-illustration{width:56px;height:56px;border-radius:15px}
  .developer-settings-column .danger-zone>button,.developer-open-full-docs{width:100%!important}
  .developer-copy-field,.developer-token-reveal{grid-template-columns:minmax(0,1fr) 38px}
  .developer-copy-button,.developer-copy,.developer-copy-install-url,.developer-copy-token{width:38px!important;min-width:38px!important;height:38px!important}
  .developer-server-row>button{grid-column:1/-1;width:100%!important;min-width:0}
}
@media(max-width:400px){
  .developer-form-actions>button,.developer-authorize-actions>button{flex-basis:100%}
}

@media (max-width:520px){.message-embed{grid-template-columns:minmax(0,1fr)!important}.message-embed-thumbnail{grid-row:1;grid-column:1;width:64px;height:64px;margin-left:auto}.message-embed-body{grid-row:2;grid-column:1}.message-embed-fields:has(.message-embed-field.inline){grid-template-columns:minmax(0,1fr)!important}}

/* v1.6.0.6 — authoritative mobile viewport and independent drawer states. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :root{
    --mobile-safe-top:env(safe-area-inset-top,0px);
    --mobile-safe-right:env(safe-area-inset-right,0px);
    --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    --mobile-safe-left:env(safe-area-inset-left,0px);
    --mobile-header-content-h:52px;
    --mobile-nav-content-h:68px;
    --mobile-header-h:calc(var(--mobile-header-content-h) + var(--mobile-safe-top));
    --mobile-nav-h:calc(var(--mobile-nav-content-h) + var(--mobile-safe-bottom));
    --mobile-rail-w:68px;
    --mobile-drawer-w:min(360px,var(--app-viewport-width,100vw));
    --mobile-sidebar-w:max(0px,calc(var(--mobile-drawer-w) - var(--mobile-rail-w)));
  }
  html{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  body{
    position:fixed!important;
    inset:auto!important;
    top:var(--app-viewport-offset-top,0px)!important;
    left:var(--app-viewport-offset-left,0px)!important;
    width:var(--app-viewport-width,100vw)!important;
    min-width:0!important;
    max-width:var(--app-viewport-width,100vw)!important;
    height:var(--app-viewport-height,100dvh)!important;
    min-height:var(--app-viewport-height,100dvh)!important;
    max-height:var(--app-viewport-height,100dvh)!important;
    margin:0!important;
    overflow:hidden!important;
    overscroll-behavior:none;
    -webkit-text-size-adjust:100%;
  }
  #app{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  .shell,.shell.members-hidden,.shell.members-unavailable{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--mobile-header-h) minmax(0,1fr) var(--mobile-nav-h)!important;
    grid-template-areas:"header" "main" "mobile-nav"!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .header{
    grid-area:header!important;
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--mobile-header-h)!important;
    min-height:var(--mobile-header-h)!important;
    padding:var(--mobile-safe-top) max(8px,var(--mobile-safe-right)) 0 max(8px,var(--mobile-safe-left))!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:0!important;
  }
  .header .head-title{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .header-actions{flex:0 0 auto!important;min-width:0!important;margin-left:auto!important}
  .mobile-menu,.member-toggle,.header-actions .icon-btn{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    flex:0 0 44px!important;
  }
  .main{
    grid-area:main!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .messages,.friends{
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .message{min-width:0!important;max-width:100%!important;grid-template-columns:46px minmax(0,1fr)!important;padding:5px 8px!important}
  .message>div,.msg-head,.content,.reply-preview,.attachment-caption{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere;word-break:break-word}
  .message img,.message video,.message iframe,.image-attachment,.video-attachment,.audio-attachment,.file-attachment,.youtube-embed{max-width:100%!important;min-width:0!important}
  .composer-wrap{width:100%!important;min-width:0!important;max-width:100%!important;flex:0 0 auto!important;padding:0 max(8px,var(--mobile-safe-right)) 8px max(8px,var(--mobile-safe-left))!important}
  .composer{width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
  .composer textarea{width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important;max-height:min(34dvh,180px)!important}

  .mobile-youbar{
    grid-area:mobile-nav!important;
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) 52px 52px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--mobile-nav-h)!important;
    min-height:var(--mobile-nav-h)!important;
    max-height:var(--mobile-nav-h)!important;
    margin:0!important;
    padding:6px max(8px,var(--mobile-safe-right)) max(6px,var(--mobile-safe-bottom)) max(8px,var(--mobile-safe-left))!important;
    border-width:1px 0 0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .mobile-youbar-item,.mobile-youbar-profile{min-width:0!important;max-width:100%!important;height:54px!important;min-height:54px!important;touch-action:manipulation}
  .mobile-youbar-profile{overflow:hidden!important}.mobile-youbar-identity{min-width:0!important;overflow:hidden!important}

  /* Closed drawer positions are explicit so one panel cannot open another. */
  .rail{
    position:fixed!important;
    left:0!important;
    top:var(--app-viewport-offset-top,0px)!important;
    bottom:calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h))!important;
    width:var(--mobile-rail-w)!important;
    min-width:var(--mobile-rail-w)!important;
    max-width:var(--mobile-rail-w)!important;
    height:auto!important;
    transform:translate3d(-100%,0,0)!important;
    pointer-events:none!important;
  }
  .sidebar{
    position:fixed!important;
    left:var(--mobile-rail-w)!important;
    top:var(--app-viewport-offset-top,0px)!important;
    bottom:calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h))!important;
    width:var(--mobile-sidebar-w)!important;
    min-width:0!important;
    max-width:calc(var(--app-viewport-width,100vw) - var(--mobile-rail-w))!important;
    height:auto!important;
    transform:translate3d(calc(-100% - var(--mobile-rail-w)),0,0)!important;
    pointer-events:none!important;
  }
  .members{
    position:fixed!important;
    right:0!important;
    left:auto!important;
    top:var(--app-viewport-offset-top,0px)!important;
    bottom:calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h))!important;
    width:min(340px,92vw)!important;
    min-width:0!important;
    max-width:min(340px,92vw)!important;
    height:auto!important;
    transform:translate3d(100%,0,0)!important;
    pointer-events:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:max(12px,var(--mobile-safe-top)) max(8px,var(--mobile-safe-right)) 12px 8px!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .shell.mobile-panel-open:not(.mobile-navigation-open)>.rail:not(.open){transform:translate3d(-100%,0,0)!important;pointer-events:none!important}
  .shell.mobile-panel-open:not(.mobile-navigation-open)>.sidebar:not(.open){transform:translate3d(calc(-100% - var(--mobile-rail-w)),0,0)!important;pointer-events:none!important}
  .shell.mobile-panel-open:not(.mobile-members-open)>.members:not(.mobile-open){transform:translate3d(100%,0,0)!important;pointer-events:none!important}
  .shell.mobile-navigation-open>.rail,.shell.mobile-navigation-open>.sidebar,.rail.open,.sidebar.open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .shell.mobile-members-open>.members,.members.mobile-open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .shell.mobile-members-open>.rail:not(.open){transform:translate3d(-100%,0,0)!important;pointer-events:none!important}
  .shell.mobile-members-open>.sidebar:not(.open){transform:translate3d(calc(-100% - var(--mobile-rail-w)),0,0)!important;pointer-events:none!important}
  .shell.mobile-navigation-open>.members:not(.mobile-open){transform:translate3d(100%,0,0)!important;pointer-events:none!important}
  .shell.members-unavailable>.members,.shell.members-unavailable .member-toggle,.shell.members-unavailable .mobile-youbar-members{display:none!important}

  .mobile-backdrop{
    display:block!important;
    position:fixed!important;
    inset:var(--app-viewport-offset-top,0px) var(--app-viewport-right-gap,0px) calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h)) var(--app-viewport-offset-left,0px)!important;
    border:0!important;
    border-radius:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .shell.mobile-navigation-open>.mobile-backdrop,.shell.mobile-members-open>.mobile-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.mobile-drawer-open{overflow:hidden!important}

  .voice-stage{inset:calc(var(--app-viewport-offset-top,0px) + var(--mobile-header-h)) var(--app-viewport-right-gap,0px) calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h)) var(--app-viewport-offset-left,0px)!important;max-width:100vw!important;max-height:calc(var(--app-viewport-height,100dvh) - var(--mobile-header-h) - var(--mobile-nav-h))!important}
  .modal-backdrop{position:fixed!important;inset:var(--app-viewport-offset-top,0px) var(--app-viewport-right-gap,0px) var(--app-viewport-bottom-gap,0px) var(--app-viewport-offset-left,0px)!important;max-width:var(--app-viewport-width,100vw)!important;max-height:var(--app-viewport-height,100dvh)!important;overflow:hidden!important}
  .modal,.modal.modal-medium,.modal.modal-wide,.modal.modal-full{max-width:100%!important;max-height:calc(var(--app-viewport-height,100dvh) - max(16px,var(--mobile-safe-top)) - max(16px,var(--mobile-safe-bottom)))!important}
  .auth,.splash{width:100%!important;height:100%!important;min-height:0!important;padding:max(12px,var(--mobile-safe-top)) max(12px,var(--mobile-safe-right)) max(12px,var(--mobile-safe-bottom)) max(12px,var(--mobile-safe-left))!important;overflow:auto!important}
  .auth-card{width:min(450px,100%)!important;max-height:100%!important;overflow:auto!important}
}

@media (max-width:700px) and (orientation:landscape) and (max-height:500px), (max-width:950px) and (orientation:landscape) and (max-height:500px) and (pointer:coarse){
  :root{--mobile-header-content-h:44px;--mobile-nav-content-h:56px}
  .mobile-youbar{grid-template-columns:46px minmax(0,1fr) 46px 46px!important;padding-top:4px!important}
  .mobile-youbar-item,.mobile-youbar-profile{height:44px!important;min-height:44px!important}
  .mobile-youbar-item span{display:none!important}
}

@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :root.mobile-keyboard-open .shell{grid-template-rows:var(--mobile-header-h) minmax(0,1fr)!important;grid-template-areas:"header" "main"!important}
  :root.mobile-keyboard-open .mobile-youbar{display:none!important}
  :root.mobile-keyboard-open .rail,:root.mobile-keyboard-open .sidebar,:root.mobile-keyboard-open .members{bottom:var(--app-viewport-bottom-gap,0px)!important}
  :root.mobile-keyboard-open .mobile-backdrop{bottom:var(--app-viewport-bottom-gap,0px)!important}
  :root.mobile-keyboard-open .composer-wrap{padding-bottom:max(8px,var(--mobile-safe-bottom))!important}
}
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .shell.mobile-navigation-open>.sidebar,.sidebar.open{
    left:var(--mobile-rail-w)!important;
    width:var(--mobile-sidebar-w)!important;
    max-width:calc(var(--app-viewport-width,100vw) - var(--mobile-rail-w))!important;
  }
}

/* v1.6.0.7 — modal stacking, settings chrome, and visual-viewport fitting. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  /* Every dialog must sit above the application header, drawers, and mobile navigation. */
  .modal-backdrop{
    z-index:1000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:max(8px,var(--mobile-safe-top)) max(8px,var(--mobile-safe-right)) max(8px,var(--mobile-safe-bottom)) max(8px,var(--mobile-safe-left))!important;
  }

  /* Normal dialogs are centered and bounded by the actual visible viewport. */
  .modal-backdrop > .modal:not(.modal-full):not(.modal-profile){
    height:auto!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
  }
  .modal-backdrop > .modal:not(.modal-full):not(.modal-medium):not(.modal-wide):not(.modal-profile){
    width:min(100%,500px)!important;
    overflow:auto!important;
  }
  .modal-backdrop > .modal.modal-medium{
    width:min(100%,620px)!important;
    overflow:auto!important;
  }
  .modal-backdrop > .modal.modal-wide{
    width:min(100%,960px)!important;
    overflow:hidden!important;
  }
  .modal-backdrop > .modal.modal-wide > :not(.close){
    min-width:0!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .modal-backdrop > .modal:not(.modal-full) > :not(.close){
    max-width:100%!important;
  }

  /* Full settings/profile surfaces own the whole visible viewport; the app header stays behind them. */
  .modal-backdrop:has(> .modal.modal-full),
  .modal-backdrop:has(> .modal.modal-profile),
  .image-lightbox-backdrop{
    align-items:stretch!important;
    justify-content:stretch!important;
    padding:0!important;
  }
  .modal-backdrop > .modal.modal-full,
  .modal-backdrop > .modal.modal-profile{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    border-radius:0!important;
  }

  /* Settings navigation is a dedicated row, never underneath the application header or close control. */
  .modal-backdrop > .modal.modal-full > .close{
    display:grid!important;
    top:max(8px,var(--mobile-safe-top))!important;
    right:max(8px,var(--mobile-safe-right))!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    z-index:6!important;
    background:var(--panel)!important;
    box-shadow:0 2px 10px rgba(0,0,0,.28);
  }
  .modal-backdrop > .modal.modal-full .app-settings,
  .modal-backdrop > .modal.modal-full .user-settings-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .modal-backdrop > .modal.modal-full .settings-nav{
    position:relative!important;
    z-index:4!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
    white-space:nowrap!important;
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    min-height:calc(60px + var(--mobile-safe-top))!important;
    max-height:none!important;
    padding:max(8px,var(--mobile-safe-top)) calc(max(8px,var(--mobile-safe-right)) + 52px) 8px max(8px,var(--mobile-safe-left))!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:var(--panel)!important;
    border-bottom:1px solid color-mix(in srgb,var(--muted) 22%,transparent)!important;
    box-shadow:0 3px 12px rgba(0,0,0,.18);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .modal-backdrop > .modal.modal-full .settings-nav::-webkit-scrollbar{display:none}
  .modal-backdrop > .modal.modal-full .settings-nav button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:44px!important;
    margin:0!important;
    scroll-snap-align:start;
  }
  .modal-backdrop > .modal.modal-full .settings-content{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    height:auto!important;
    padding:18px max(14px,var(--mobile-safe-right)) max(28px,var(--mobile-safe-bottom)) max(14px,var(--mobile-safe-left))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Image lightbox keeps its own full-screen geometry. */
  .image-lightbox-backdrop > .modal{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
  }
}

/* v1.6.0.8 — mobile swipe navigation and long-press context actions. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .settings-content[data-touch-tab-navigation="1"],
  .user-settings-content[data-touch-tab-navigation="1"]{
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior-x:contain;
  }
  .message,[data-profile-user],[data-server],[data-channel],[data-voice],
  [data-dm],[data-group],[data-stage-participant],[data-voice-member],
  [data-mention-user],[data-embed-profile-user],.home{
    -webkit-touch-callout:none;
  }
}


/* v1.6.0.14 — keep the unified emoji picker usable in the visual viewport. */
@media(max-width:700px),((pointer:coarse) and (max-height:700px)){
  body>.emoji-picker{
    width:min(400px,calc(var(--app-viewport-width,100vw) - 16px))!important;
    max-width:calc(var(--app-viewport-width,100vw) - 16px)!important;
    height:min(440px,calc(var(--app-viewport-height,100dvh) - 16px))!important;
    max-height:calc(var(--app-viewport-height,100dvh) - 16px)!important;
    margin:0!important;
    border-radius:14px!important;
  }
  body>.emoji-picker .emoji-picker-head{padding-top:9px}
  body>.emoji-picker .emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  body>.emoji-picker .emoji-grid button{min-height:36px;font-size:21px}
}
@media(max-width:350px){
  body>.emoji-picker .emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  body>.emoji-picker .emoji-tabs button{width:32px}
}

/* v1.6.0.15 — keep the shared picker stable above mobile menus. */
@media(max-width:700px),((pointer:coarse) and (max-height:700px)){
  body>.emoji-picker{
    min-height:min(360px,calc(var(--app-viewport-height,100dvh) - 16px))!important;
  }
  body>.emoji-picker .emoji-picker-head{min-height:52px}
  body>.emoji-picker .emoji-results{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

/* v1.6.0.16 — preserve the picker's anchored position while its contents change. */
@media(max-width:700px),((pointer:coarse) and (max-height:700px)){
  body>.emoji-picker{
    width:min(360px,calc(var(--app-viewport-width,100vw) - 16px))!important;
    height:min(420px,calc(var(--app-viewport-height,100dvh) - 16px))!important;
    overflow-anchor:none!important;
  }
}

/* v1.6.0.21 — cookie agreement fits the mobile visual viewport. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
 .cookie-consent{left:calc(var(--app-viewport-offset-left,0px) + max(10px,env(safe-area-inset-left)));right:auto;bottom:auto;top:calc(var(--app-viewport-offset-top,0px) + var(--app-viewport-height,100dvh) - max(10px,env(safe-area-inset-bottom)));width:calc(var(--app-viewport-width,100vw) - max(20px,env(safe-area-inset-left) + env(safe-area-inset-right)));max-height:calc(var(--app-viewport-height,100dvh) - 20px);transform:translateY(-100%);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:13px;border-radius:13px;overflow:auto}
 .cookie-consent-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;white-space:normal}.cookie-consent-actions button{width:100%;min-width:0}.cookie-consent-copy p{font-size:12px}.cookie-consent-icon{width:38px;height:38px}.account-cookie-card{align-items:flex-start;flex-direction:column}.account-cookie-card button{width:100%}
}
@media (max-width:380px){.cookie-consent-actions{grid-template-columns:1fr}}


/* v1.6.0.25 Pulse — keep security dialogs inside the visual viewport. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
 .modal:has(.account-security-unlock),.modal:has(.two-factor-setup-dialog),.modal:has(.two-factor-recovery-dialog){width:min(100%,calc(var(--app-viewport-width,100vw) - 20px))!important;max-height:calc(var(--app-viewport-height,100dvh) - 20px)!important;overflow:auto!important}
 .two-factor-setup-layout{gap:14px}.two-factor-qr{max-width:196px}.recovery-code-grid code{font-size:12px}
}

/* v1.6.0.28 Pulse — settings use safe, consistent inner gutters on phones. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-backdrop>.modal.modal-settings{
    --settings-frame-inset:0px;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:var(--bg)!important;
  }
  .modal-backdrop>.modal.modal-settings>.app-settings,
  .modal-backdrop>.modal.modal-settings>.user-settings-shell{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .modal-backdrop>.modal.modal-settings .settings-nav{
    border-right:0!important;
  }
  .modal-backdrop>.modal.modal-settings .settings-content{
    padding-top:22px!important;
    padding-right:max(18px,var(--mobile-safe-right,env(safe-area-inset-right)))!important;
    padding-bottom:max(40px,var(--mobile-safe-bottom,env(safe-area-inset-bottom)))!important;
    padding-left:max(18px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
    scrollbar-gutter:auto!important;
    scroll-padding-block:22px!important;
  }
  .modal-backdrop>.modal.modal-settings .settings-content>*{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
@media(max-width:350px){
  .modal-backdrop>.modal.modal-settings .settings-content{
    padding-right:max(15px,var(--mobile-safe-right,env(safe-area-inset-right)))!important;
    padding-left:max(15px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
  }
}

/* v1.6.0.29 Pulse — server settings and Roles remain contained on phones. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-backdrop>.modal.modal-settings>.server-settings-shell.role-management-mode{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  .modal-backdrop>.modal.modal-settings>.server-settings-shell.role-management-mode>.settings-nav{
    display:flex!important;
  }
  .modal-backdrop>.modal.modal-settings>.server-settings-shell.role-management-mode>.settings-content{
    min-height:0!important;
    padding:12px max(12px,var(--mobile-safe-right,env(safe-area-inset-right))) max(14px,var(--mobile-safe-bottom,env(safe-area-inset-bottom))) max(12px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
    overflow:hidden!important;
  }
  .server-settings-shell .settings-content>.settings-page-head{
    padding-right:42px;
  }
  .app-role-settings{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(148px,29dvh) minmax(0,1fr)!important;
    height:100%!important;
    min-height:0!important;
    border-radius:8px;
  }
  .app-role-sidebar{padding:8px 7px 7px}
  .app-role-sidebar-head{padding-bottom:7px}
  .app-role-sidebar-heading small{display:none}
  .app-role-search{margin:7px 3px}
  .app-role-sidebar>.role-list-scroll{padding-bottom:2px}
  .app-role-row{min-height:42px}
  .app-role-editor-head{min-height:62px;padding:12px 14px 7px}
  .app-role-editor-head h2{font-size:17px}
  .app-role-tabs{padding-inline:14px;gap:13px}
  .app-role-editor-scroll{padding:18px 14px max(104px,var(--mobile-safe-bottom,env(safe-area-inset-bottom)))}
  .app-role-editor>.settings-unsaved-bar{left:8px;right:8px;bottom:8px}
  .app-role-section-heading{gap:12px}
  .app-role-section-heading h3{font-size:18px}
  .app-role-member-row{gap:12px;padding-inline:5px}
  .server-settings-shell .invite-row-actions button{flex:1 1 auto}
}
@media(max-width:360px){
  .app-role-settings{grid-template-rows:minmax(138px,27dvh) minmax(0,1fr)!important}
  .app-role-tabs button{font-size:12px}
  .app-role-tabs b{display:none}
}

/* v1.6.0.30 Pulse — preserve aligned Server Settings fields on compact screens. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .server-settings-shell .server-settings-form{
    gap:17px;
    margin-top:18px;
  }
  .server-settings-shell .server-settings-field{gap:7px}
  .server-settings-shell .server-settings-field textarea.field{min-height:104px}
  .server-settings-shell .server-settings-form>.server-accent-setting{
    align-items:flex-start;
    gap:12px;
  }
  .app-role-form{gap:17px}
}

/* v1.6.0.30 Pulse — retain form text alignment on mobile. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .server-settings-shell{--server-settings-control-inline:11px}
  .server-settings-shell .app-role-color-editor{padding-inline:9px}
}

/* v1.6.0.31 Pulse: downloadable Developer documentation on mobile. */
@media(max-width:700px){
  .developer-doc-header{display:flex;align-items:stretch;flex-direction:column;gap:16px}
  .developer-doc-download-actions{display:grid;grid-template-columns:1fr;width:100%}
  .developer-doc-download-actions button{width:100%!important}
  .developer-language-download-bar{margin:0 12px 12px;padding:12px}
  .developer-application-doc-actions{display:grid;grid-template-columns:1fr;width:100%}
  .developer-application-doc-actions>.developer-open-full-docs,
  .developer-application-doc-actions>.developer-doc-download-actions{width:100%}
}

/* v1.6.0.44 — mobile image editor */
@media(max-width:700px){
 .modal-image-editor{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);padding:18px 14px}
 .image-editor-shell{gap:13px}.image-editor-head h2{font-size:20px}.image-editor-head p{font-size:13px}
 .image-editor-stage{width:100%;max-height:48dvh}
 .image-editor-zoom{grid-template-columns:auto minmax(80px,1fr) 42px;gap:7px}
 .image-editor-actions{display:grid;grid-template-columns:1fr 1fr}.image-editor-actions .image-editor-apply{grid-column:1/-1;grid-row:2}.image-editor-actions .image-editor-original{grid-column:2;grid-row:1}.image-editor-actions button{width:100%;min-width:0}
}

/* v1.6.0.45 — unified profile media on compact layouts */
@media(max-width:700px){
 .image-editor-toolbar{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}
 .image-editor-zoom-out{grid-column:1;grid-row:1}
 .image-editor-zoom{grid-column:2;grid-row:1}
 .image-editor-zoom-in{grid-column:3;grid-row:1}
 .image-editor-toolbar-divider{display:none}
 .image-editor-rotate-left{grid-column:1;grid-row:2}
 .image-editor-toolbar>.image-editor-reset{grid-column:2;grid-row:2;width:100%}
 .image-editor-rotate-right{grid-column:3;grid-row:2}
 .image-editor-circle{max-width:min(94vw,420px)}
 .profile-settings-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .profile-settings-form{min-width:0}
 .profile-media-card{grid-template-columns:auto minmax(0,1fr);align-items:center}
 .profile-preview-column{position:static}
 .discord-profile-preview{max-width:380px;justify-self:center}
}
@media(max-width:430px){
 .image-editor-actions{grid-template-columns:1fr 1fr}
 .image-editor-actions .image-editor-skip{margin-left:0}
}

/* v1.6.0.56 Pulse — preserve the merged voice/user footer on compact sidebars. */
@media(max-width:1000px){
 .sidebar.voice-footer-connected .sidebar-voice-box.connected{margin:auto 6px 0;padding:5px 6px 4px;border-radius:12px 12px 0 0}
 .sidebar.voice-footer-connected .userbar{margin:0 6px 6px;border-radius:0 0 12px 12px}
}

/* Responsive authentication and QR approval. */
@media(max-width:760px){
 .auth.auth-screen{display:block;padding:72px 16px 24px;background:#313338!important;background-image:none!important}
 .auth.auth-screen::before,.auth.auth-screen::after,.auth.auth-screen .auth-scene{display:none!important}
 .auth-brand-lockup{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:18px}
 .auth-brand-lockup .brandmark{width:34px;height:34px;font-size:18px}
 .auth-card.auth-card-discord,.auth-card.auth-card-discord.has-qr,.auth-card.auth-register-card,.auth-card.auth-approval-entry,.auth-card.auth-two-factor-card{display:block;width:100%;max-width:480px;margin:18px auto 0;padding:24px 20px;border:0;box-shadow:none;background:#313338}
 .auth-qr-column{display:none}
 .auth-heading h1,.auth-two-factor-card h1{font-size:22px}
 .auth-heading p,.auth-two-factor-card>p{font-size:15px}
 .auth-card-discord label,.auth-two-factor-card label{margin-top:18px}
 .auth-card-discord .field,.auth-two-factor-card .field{font-size:16px}
}
@media(max-width:420px){
 .auth.auth-screen{padding-inline:8px}
 .auth-card.auth-card-discord,.auth-card.auth-two-factor-card{padding-inline:16px}
 .qr-login-device-card{align-items:flex-start}
 .qr-login-approval-dialog .dialog-actions{display:grid;grid-template-columns:1fr}
 .qr-login-approval-dialog .dialog-actions button{width:100%}
}

/* v1.6.0.83 — mobile-only presence in the native You Bar. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
 .mobile-youbar-profile>.avatar .status-dot{display:none}
 .mobile-youbar-presence.mobile-online[data-status="online"]{
  width:10px!important;height:16px!important;left:33px!important;bottom:2px!important;
  border-radius:3px!important;border:3px solid var(--input)!important;background:var(--green)!important;
 }
 .mobile-youbar-presence.mobile-online[data-status="online"]::before{
  content:"";position:absolute;inset:2px 1px 3px;border-radius:1px;background:var(--input)
 }
 .mobile-youbar-presence.mobile-online[data-status="online"]::after{
  content:"";position:absolute;left:50%;bottom:1px;width:1px;height:1px;border-radius:50%;background:var(--input);transform:translateX(-50%)
 }
}

/* City Estates gets more room than compact games on touch layouts. */
.main.dm-game-open.estate-game-open{grid-template-rows:minmax(280px,68%) minmax(0,1fr) auto!important}
.dm-game-panel.estate-game-active .dm-game-panel-scroll{padding:9px 7px 14px}
.dm-game-panel.estate-game-active .estate-table{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.dm-game-panel.estate-game-active .estate-board{width:min(100%,560px);max-width:560px;max-height:none;min-height:0;margin-inline:auto}
.dm-game-panel.estate-game-active .estate-space>span{font-size:5.8px}.dm-game-panel.estate-game-active .estate-space>small{display:block;font-size:5.3px}.dm-game-panel.estate-game-active .estate-space>b{font-size:10px}.dm-game-panel.estate-game-active .estate-space u{width:7px;height:7px;border-width:1px}
.dm-game-panel.estate-game-active .estate-card-dock{position:static;width:min(100%,430px);margin-inline:auto}.dm-game-panel.estate-game-active .estate-card{min-height:0}.dm-game-panel.estate-game-active .estate-event-card>div{padding:18px 14px}.dm-game-panel.estate-game-active .estate-deed-card header strong{font-size:16px}
:root.mobile-keyboard-open .main.dm-game-open.estate-game-open{grid-template-rows:minmax(190px,48%) minmax(0,1fr) auto!important}
:root.mobile-keyboard-open .dm-game-panel.estate-game-active .estate-board{min-height:0;max-height:none}

/* v1.6.0.92 Arcade — readable adaptive game surfaces on compact screens. */
@media(max-width:700px){
 .dm-game-panel-head{height:48px;min-height:48px;padding-inline:9px 7px}
 .dm-game-panel-head strong{font-size:14px}.dm-game-panel-head small{font-size:10.5px}
 .dm-game-panel-head .icon-btn{width:32px;height:32px}
 .dm-game-panel-scroll{padding:8px}
 .dm-game-library{grid-template-columns:minmax(0,1fr);gap:9px}
 .dm-game-library-intro{padding:7px 8px 10px}
 .dm-game-card{padding:12px}
 .main.dm-game-open.estate-game-open{grid-template-rows:minmax(300px,70%) minmax(0,1fr) auto!important}
 .dm-game-panel.estate-game-active .dm-game-panel-scroll{padding:8px 6px 12px}
 .dm-game-panel.estate-game-active .estate-player-strip{gap:6px}
 .dm-game-panel.estate-game-active .estate-player-strip .estate-player{flex-basis:min(160px,60%);padding:6px 8px}
 .dm-game-panel.estate-game-active .estate-player strong{font-size:11.5px}
 .dm-game-panel.estate-game-active .estate-player span{font-size:9.5px}
 .dm-game-panel.estate-game-active .estate-table{gap:9px}
 .dm-game-panel.estate-game-active .estate-board{width:min(100%,590px);max-width:590px}
 .dm-game-panel.estate-game-active .estate-space{padding:6px 2px 3px}
 .dm-game-panel.estate-game-active .estate-space>i{height:6px}
 .dm-game-panel.estate-game-active .estate-space>b{font-size:clamp(10px,3.4vw,14px)}
 .dm-game-panel.estate-game-active .estate-space>span{font-size:clamp(6.2px,1.9vw,8.5px);line-height:1.05}
 .dm-game-panel.estate-game-active .estate-space>small{display:block;font-size:clamp(5.8px,1.65vw,7.5px)}
 .dm-game-panel.estate-game-active .estate-space>em{font-size:6px}
 .dm-game-panel.estate-game-active .estate-space>div{bottom:2px;min-height:10px}
 .dm-game-panel.estate-game-active .estate-space u{width:clamp(9px,2.8vw,13px);height:clamp(9px,2.8vw,13px);border-width:1.5px}
 .dm-game-panel.estate-game-active .estate-space u+u{margin-left:-4px}
 .dm-game-panel.estate-game-active .estate-board-center{gap:5px;padding:8px}
 .dm-game-panel.estate-game-active .estate-board-center>strong{font-size:clamp(17px,5.8vw,29px)}
 .dm-game-panel.estate-game-active .estate-board-center>span{font-size:clamp(7px,2.2vw,10px)}
 .dm-game-panel.estate-game-active .estate-dice b{width:38px;height:38px;font-size:29px}
 .dm-game-panel.estate-game-active .estate-card-dock{width:min(100%,500px)}
 .dm-game-panel.estate-game-active .estate-card-owner{font-size:11px}
 .dm-game-panel.estate-game-active .estate-card-rents span{font-size:11px}
 .dm-game-panel.estate-game-active .estate-event-card p,.dm-game-panel.estate-game-active .estate-space-card p{font-size:12.5px}
 :root.mobile-keyboard-open .main.dm-game-open.estate-game-open{grid-template-rows:minmax(205px,50%) minmax(0,1fr) auto!important}
}

/* Arcade 1.6.0.94 */
@media (max-width:700px){
 .frontiers-region-legend{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
 .frontiers-map.world-map{aspect-ratio:1.35;min-height:360px;overflow:hidden}
 .frontiers-map.world-map .frontiers-territory{width:23px;height:23px}
 .frontiers-map.world-map .frontiers-territory span{font-size:6px;max-width:54px}
 .chess-ai-toggle{min-height:50px}
}

/* v1.6.0.96 — 40-space City Estates board on compact screens. */
.dm-game-panel.estate-game-active .estate-board.board-40{width:min(100%,640px);max-width:640px;min-height:0;max-height:none}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space{padding:2px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy{padding:2px 1px 12px}
.dm-game-panel.estate-game-active .estate-board.board-40 .side-bottom.type-property>.estate-space-copy,
.dm-game-panel.estate-game-active .estate-board.board-40 .side-top.type-property>.estate-space-copy{padding-top:22%}
.dm-game-panel.estate-game-active .estate-board.board-40 .side-left.type-property>.estate-space-copy,
.dm-game-panel.estate-game-active .estate-board.board-40 .side-right.type-property>.estate-space-copy{padding-top:13%}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>b{font-size:clamp(10px,3vw,15px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>span{font-size:clamp(5.2px,1.55vw,7.5px);line-height:1}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>small{display:block;font-size:clamp(5px,1.4vw,6.8px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .corner .estate-space-copy>b{font-size:clamp(18px,5vw,30px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .corner .estate-space-copy>span{font-size:clamp(6.5px,1.9vw,9px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-tokens{min-height:10px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-tokens u{width:clamp(10px,3vw,15px);height:clamp(10px,3vw,15px);border-width:1.5px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-tokens u+u{margin-left:-5px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-buildings{font-size:clamp(6px,1.8vw,9px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-center-title{min-width:50%;padding:5px 10px;border-width:2px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-center-title>strong{font-size:clamp(16px,5.2vw,28px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-center-title>span{font-size:clamp(5px,1.5vw,8px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-board-deck{border-width:1px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-board-deck span{font-size:clamp(17px,5vw,30px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-board-deck b{font-size:clamp(5px,1.5vw,7px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-dice{bottom:5%;padding-bottom:13px}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-dice b{width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px);font-size:clamp(22px,7vw,32px)}
.dm-game-panel.estate-game-active .estate-board.board-40 .estate-dice small{font-size:8px}


/* Arcade 1.6.0.98 — mobile game readability */
@media(max-width:700px){
 .frontiers-map.world-map{aspect-ratio:1.28;min-height:390px;border-radius:12px}.frontiers-map.world-map .frontiers-territory{width:26px;height:26px}.frontiers-map.world-map .frontiers-territory span{font-size:6.8px;max-width:64px}.frontiers-territory-card{padding:9px 10px}.frontiers-territory-card>small{white-space:normal}
 .dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>span{font-size:clamp(6px,1.85vw,8.1px);line-height:1.04;font-weight:950}.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>small{font-size:clamp(5.7px,1.62vw,7.2px);font-weight:900}.dm-game-panel.estate-game-active .estate-board.board-40 .estate-space-copy>b{font-size:clamp(11px,3.2vw,16px)}
 .dm-game-panel.estate-game-active .estate-board.board-40 .side-bottom::before,.dm-game-panel.estate-game-active .estate-board.board-40 .side-top::before{height:5px}.dm-game-panel.estate-game-active .estate-board.board-40 .side-left::before,.dm-game-panel.estate-game-active .estate-board.board-40 .side-right::before{width:5px}
}

/* v1.6.0.115 — Frontiers team mode mobile layout. */
@media (max-width:700px){
 .frontiers-team-options{grid-template-columns:minmax(0,1fr);gap:8px;padding:9px}
 .frontiers-team-mode-banner{padding:6px 8px}.frontiers-team-mode-banner>small{font-size:8px}
 .frontiers-turn-order .frontiers-team-badge{display:none!important}
}


/* v1.6.0.141 Arcade — final touch/narrow game workspace overrides. */
@media(max-width:700px){
 .main.dm-game-open{grid-template-rows:minmax(220px,58%) minmax(0,1fr) auto!important}
 .dm-game-panel-scroll{overflow-x:hidden;overscroll-behavior:contain}
 .dm-game-panel-head>div:first-child{min-width:0;overflow:hidden}
 .dm-game-panel-head>div:last-child{gap:2px;flex:none}
 .dm-game-panel-head .icon-btn{width:30px;height:30px;min-width:30px}
 .dm-game-panel-head small{display:none}
 .dm-game-status{align-items:flex-start;flex-wrap:wrap;gap:6px}
 .dm-game-status>div{flex:1 1 190px;min-width:0}
 .dm-game-status-pill{margin-left:auto}
 .dm-game-card>.game-ai-options,.dm-game-card>.frontiers-team-options{display:grid}
 .game-ai-options,.frontiers-team-options{grid-template-columns:minmax(0,1fr)!important;gap:8px;padding:9px}
 .frontiers-team-options .game-ai-toggle{grid-row:auto}
 .game-ai-target,.frontiers-team-options .game-ai-target{grid-template-columns:minmax(0,1fr) minmax(96px,132px);white-space:normal}
 .game-ai-target .field,.frontiers-team-options .game-ai-target .field{width:100%;min-width:0}
 .frontiers-team-mode-banner{align-items:flex-start;flex-wrap:wrap}
 .frontiers-team-mode-banner>small{flex:1 0 100%;margin-left:22px;overflow-wrap:anywhere}
 .frontiers-map.world-map{width:100%;aspect-ratio:1.30;min-height:0!important;max-height:none;border-radius:12px}
 .frontiers-map.world-map .frontiers-territory{width:clamp(21px,7vw,26px);height:clamp(21px,7vw,26px)}
 .frontiers-map.world-map .frontiers-territory span{display:none}
 .frontiers-map.world-map .frontiers-territory:hover span,.frontiers-map.world-map .frontiers-territory.selected span{display:block;font-size:7px;max-width:82px}
 .frontiers-action-box>label,.frontiers-action-box>.field{min-width:0}
 .estate-stop-ai-game{align-items:stretch;flex-direction:column}
 .estate-stop-ai-game .danger-button{width:100%}
 .estate-trade-offer p{overflow-wrap:anywhere}
 body.game-popout .dm-game-panel.estate-game-active .estate-table,
 .dm-game-panel.estate-game-active:fullscreen .estate-table,
 .dm-game-panel.estate-game-active:-webkit-full-screen .estate-table{grid-template-columns:minmax(0,1fr)!important;gap:10px}
}
@media(max-width:390px){
 .main.dm-game-open{grid-template-rows:minmax(205px,56%) minmax(0,1fr) auto!important}
 .dm-game-panel-head{padding-inline:7px 5px}
 .dm-game-panel-head>div:first-child>span{display:none}
 .dm-game-panel-head strong{font-size:13px}
 .dm-game-panel-head .icon-btn{width:28px;height:28px;min-width:28px}
 .frontiers-action-box{grid-template-columns:minmax(0,1fr)}
 .frontiers-action-box>*{grid-column:1!important}
 .dm-game-controls{display:grid;grid-template-columns:minmax(0,1fr)}
 .dm-game-controls button{width:100%}
 .estate-properties article{grid-template-columns:5px minmax(0,1fr) repeat(3,minmax(0,auto))}
 .estate-properties article>i{grid-row:1/3}
 .estate-properties article>div{grid-column:2/-1}
 .estate-properties article>button:first-of-type{grid-column:2}
 .estate-properties button{width:100%;min-width:0}
}

/* v1.6.0.142 Arcade — game panels use one vertical content lane on mobile. */
@media(max-width:700px){
 .dm-game-library{grid-template-columns:minmax(0,1fr)!important}
 .game-ai-options,
 .frontiers-team-options{grid-template-columns:minmax(0,1fr)!important}
 .frontiers-team-options .game-ai-toggle{grid-row:auto!important}
 .game-ai-target,
 .frontiers-team-options .game-ai-target{grid-template-columns:minmax(0,1fr)!important;width:100%;white-space:normal}
 .game-ai-target .field,
 .frontiers-team-options .game-ai-target .field{width:100%!important;min-width:0!important;max-width:100%;text-align:left}
 .frontiers-action-box{grid-template-columns:minmax(0,1fr)!important}
 .frontiers-action-box>*{grid-column:1!important;min-width:0;max-width:100%}
 .frontiers-action-box>button,
 .frontiers-action-box>.field,
 .frontiers-action-box>label>.field{width:100%}
 .estate-player-list:not(.estate-player-strip),
 .estate-trade-grid{grid-template-columns:minmax(0,1fr)!important}
 .estate-action-box{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch}
 .estate-action-box>*{min-width:0;max-width:100%}
 .estate-action-box button{width:100%}
 .estate-properties article{grid-template-columns:6px minmax(0,1fr)!important;gap:6px 7px}
 .estate-properties article>i{grid-column:1;grid-row:1 / span 4}
 .estate-properties article>div{grid-column:2/-1!important}
 .estate-properties article>button{grid-column:2!important;width:100%;min-width:0}
 .dm-game-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch}
 .dm-game-controls button{width:100%;min-width:0}
}

/* Group Files mobile */
.group-files-workspace{inset:0}.group-files-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.group-files-toolbar{flex-direction:column;align-items:stretch}.group-files-toolbar-actions{width:100%}.group-files-search{width:auto;flex:1}.group-files-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.group-files-layout .group-files-details{display:none}.group-files-layout.has-selection{grid-template-rows:minmax(170px,54%) minmax(180px,46%)}.group-files-layout.has-selection.detail-edit{grid-template-rows:minmax(120px,32%) minmax(270px,68%)}.group-files-layout.has-selection .group-files-details{display:block;border-left:0;border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}.group-files-row{touch-action:manipulation}.group-files-status{padding-bottom:max(6px,env(safe-area-inset-bottom))}
@media(max-width:700px){.group-files-header{min-height:48px;padding:7px 9px}.group-files-title>span{width:31px;height:31px}.group-files-title strong{font-size:14px}.group-files-title small{font-size:9px}.group-files-toolbar{padding:6px 7px}.group-files-toolbar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.group-files-search{grid-column:1/-1}.group-files-toolbar-actions button{width:34px;min-width:34px;padding:6px}.group-files-toolbar-actions button span{display:none}.group-files-browser{padding-inline:5px}.group-files-browser-head{grid-template-columns:minmax(0,1fr)}.group-files-browser-head span:last-child,.group-files-row-modified{display:none}.group-files-row{grid-template-columns:34px minmax(0,1fr) 22px;padding:5px 6px}.group-files-status>span:nth-child(2),.group-files-status>span:nth-child(3){display:none}}

/* Group Files navigation + view modes */
.group-files-navigation{min-width:0}.group-files-parent{touch-action:manipulation}.group-files-view-toggle{touch-action:manipulation}
@media(max-width:700px){.group-files-toolbar-actions{grid-template-columns:minmax(0,1fr) auto auto auto}.group-files-view-toggle .group-files-view-label,.group-files-view-toggle .group-files-view-chevron{display:none}.group-files-browser.view-grid .group-files-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.group-files-browser.view-grid .group-files-row{min-height:128px}.group-files-browser.view-grid .group-files-row-modified{display:block;font-size:8px}}

/* Group Files upload + layer safety */
.main.group-files-open>.composer-wrap{position:relative;z-index:2}.group-files-upload-layer{padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))}.group-files-upload-box{width:100%;max-height:100%}.group-files-view-menu.context-menu{right:0!important}

/* v1.6.0.176 — Group Files mobile overrides. */
.main.group-files-open>.composer-wrap{display:none!important}
.header-actions .group-files-toggle[hidden]{display:none!important}
.group-files-upload-box>footer>button{flex:1;min-width:110px}

/* v1.7.0.3 Rocinante — translated button sizing on compact layouts. */
@media(max-width:700px){
  .modal-actions,
  .modal-footer,
  .actions,
  .messagebox-actions,
  .role-editor-actions,
  .voice-settings-actions,
  .danger-row,
  .account-detail-row,
  .security-action-row,
  .cookie-consent-actions,
  .admin-database-backup-actions,
  .group-files-detail-actions,
  .group-files-upload-box>footer{
    flex-wrap:wrap!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .modal-actions>button,
  .modal-footer>button,
  .actions>button,
  .messagebox-actions>button,
  .role-editor-actions>button,
  .voice-settings-actions>button,
  .danger-row>button,
  .account-detail-row>button,
  .security-action-row>button,
  .cookie-consent-actions>button,
  .admin-database-backup-actions>button,
  .group-files-detail-actions>button,
  .group-files-upload-box>footer>button{
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    line-height:1.2!important;
  }
  .settings-list>div{align-items:flex-start;flex-wrap:wrap}
  .settings-list>div>span{flex:1 1 100%;width:100%}
  .settings-list>div>button{flex:1 1 100%;width:100%;margin-inline:0!important}
  .admin-update-actions{grid-template-columns:1fr!important;width:100%!important}
}
@media(max-width:560px){
  .admin-database-backup-toolbar{grid-template-columns:1fr!important}
  .admin-database-backup-toolbar>button{width:100%!important}
}

/* v1.7.1.5 — Developer Bot API documentation tools. */
@media(max-width:700px){
 .developer-capability-grid,.developer-calculator-result,.developer-explorer-grid{grid-template-columns:1fr}
 .developer-api-explorer .developer-form-actions{display:grid;grid-template-columns:1fr}
 .developer-api-explorer .developer-form-actions>button{width:100%!important}
 .developer-explorer-output{max-height:320px}
}

/* v1.7.1.8 — Developer operations mobile layout. */
@media(max-width:700px){
 .developer-token-row,.developer-audit-row{grid-template-columns:minmax(0,1fr) auto}
 .developer-token-row>button{grid-column:auto / span 1;min-width:0;width:100%!important}
 .developer-panel-heading>.developer-create-token,.developer-panel-heading>.developer-refresh-operations{flex:0 0 auto}
}

/* v1.7.1.21 — standalone Administration mobile surface. */
@media(max-width:700px){
 .shell.administration-surface,.shell.administration-surface.members-hidden,.shell.administration-surface.members-unavailable{
  grid-template-columns:1fr!important;
  grid-template-rows:var(--layout-header,48px) minmax(0,1fr) var(--layout-mobile-nav,68px)!important;
  grid-template-areas:"header" "main" "mobile-nav"!important;
 }
 .shell.administration-surface>.sidebar,.shell.administration-surface>.sidebar-resizer,.shell.administration-surface>.members{display:none!important}
 .shell.administration-surface>.header{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
 .administration-page-root .administration-standalone-shell{display:block!important;height:100%!important;min-height:0!important}
 .administration-page-root .administration-settings-content{height:100%!important;padding:0!important;overflow:auto!important}
 .administration-page-root .admin-page-head.admin-page-hero{position:relative;grid-template-columns:1fr;min-height:0;padding:16px 14px 14px!important}
 .administration-page-root .admin-page-head h2{font-size:24px}
 .administration-page-root .admin-page-head p{font-size:12px;line-height:1.5}
 .administration-page-root .admin-page-actions{align-items:stretch;justify-content:space-between}
 .administration-page-root .admin-back-user-settings{min-height:40px!important}
 .administration-page-root .admin-command-center{padding:13px 12px 9px}
 .administration-page-root .admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .administration-page-root .admin-overview-grid article{min-height:82px;padding:11px 12px}
 .administration-page-root .admin-overview-grid article>strong{font-size:17px}
 .administration-page-root .admin-overview-grid article>small{font-size:10px}
 .administration-page-root .admin-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .administration-page-root .admin-quick-actions>button{min-width:0!important;min-height:40px!important;padding:7px!important;font-size:10.5px}
 .administration-page-root .admin-workspace{padding:4px 12px 86px!important}
 .administration-page-root .admin-workspace-sidebar{position:sticky;top:0;z-index:20;grid-template-columns:1fr;gap:8px;padding:9px;background:color-mix(in srgb,var(--admin-surface) 97%,transparent);backdrop-filter:blur(16px)}
 .administration-page-root .admin-workspace-search{grid-column:auto}
 .administration-page-root .admin-section-nav{display:none}
 .administration-page-root .admin-section-select-wrap{display:grid;gap:5px;font-size:9px}
 .administration-page-root .admin-section-select{min-height:42px!important;font-size:13px}
 .administration-page-root .admin-workspace-main{gap:22px}
 .administration-page-root .admin-workspace-group-head span{font-size:14px}
 .administration-page-root .admin-workspace-card{scroll-margin-top:116px;padding:15px!important;border-radius:13px;box-shadow:none}
 .administration-page-root .admin-workspace-card>h3,.administration-page-root .admin-workspace-card .admin-realtime-head h3{font-size:16px}
 .administration-page-root .admin-section-description{font-size:11.5px!important}
 .administration-page-root .admin-workspace-card .field{font-size:16px;min-height:44px}
 .administration-page-root .admin-workspace-card>.app-switch-row,.administration-page-root .admin-workspace-card .admin-update-policy>.app-switch-row,.administration-page-root .admin-workspace-card .admin-livekit-fields>.app-switch-row{min-height:62px;padding:11px 12px}
 .administration-page-root .admin-workspace-card .app-switch-row strong{font-size:12px}
 .administration-page-root .admin-workspace-card .app-switch-row small{font-size:10.5px}
 .administration-page-root .admin-number-grid,.administration-page-root .admin-livekit-fields,.administration-page-root .admin-update-policy{grid-template-columns:1fr}
 .administration-page-root .admin-realtime-stream-row{grid-template-columns:1fr}
 .administration-page-root .administration-settings-content>.settings-unsaved-bar{width:calc(100% - 24px);bottom:10px!important}
 .administration-boot-skeleton{grid-template-columns:1fr;width:calc(100% - 24px);margin:12px auto;min-height:0}.administration-boot-skeleton span:first-child{grid-row:auto;min-height:92px}.administration-boot-skeleton span:nth-child(2){min-height:120px}.administration-boot-skeleton span:nth-child(3){min-height:360px}
}
@media(max-width:480px){
 .administration-page-root .admin-overview-grid{grid-template-columns:1fr}
 .administration-page-root .admin-quick-actions{grid-template-columns:1fr}
 .administration-page-root .admin-quick-actions>button{justify-content:flex-start!important;font-size:11px}
 .administration-page-root .admin-page-actions{flex-direction:column-reverse}
 .administration-page-root .admin-page-release{width:100%;max-width:none;text-align:left}
}

/* v1.7.1.22 — Discord-style standalone Administration mobile layout. */
@media(max-width:700px){
 .shell.administration-surface,.shell.administration-surface.members-hidden,.shell.administration-surface.members-unavailable{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  grid-template-areas:"main"!important;
 }
 .shell.administration-surface>.rail,.shell.administration-surface>.header,.shell.administration-surface>.sidebar,.shell.administration-surface>.sidebar-resizer,.shell.administration-surface>.members,.shell.administration-surface>.mobile-youbar{display:none!important}
 .administration-page-root .administration-standalone-shell,.administration-page-root .administration-settings-content{height:100%!important;min-height:0!important;padding:0!important;overflow:hidden!important}
 .administration-page-root .admin-discord-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;width:100%!important;height:100%!important;padding:0!important;gap:0!important}
 .administration-page-root .admin-discord-sidebar{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;max-height:none!important;padding:max(10px,env(safe-area-inset-top)) 12px 10px!important;border:0!important;border-bottom:1px solid var(--admin-divider)!important;border-radius:0!important;background:var(--admin-sidebar-bg)!important;backdrop-filter:none!important}
 .administration-page-root .admin-sidebar-top{display:flex!important;min-height:32px!important;padding:0!important}
 .administration-page-root .admin-sidebar-mark{width:32px!important;height:32px!important;border-radius:10px!important}
 .administration-page-root .admin-sidebar-head{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important}
 .administration-page-root .admin-sidebar-head strong{font-size:13px!important}
 .administration-page-root .admin-sidebar-head small{font-size:10px!important}
 .administration-page-root .admin-sidebar-close{display:grid!important}
 .administration-page-root .admin-workspace-search,.administration-page-root .admin-section-nav,.administration-page-root .admin-sidebar-footer{display:none!important}
 .administration-page-root .admin-section-select-wrap{display:grid!important;gap:4px!important;margin:0!important;padding:0!important;color:var(--muted)!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important}
 .administration-page-root .admin-section-select{display:block!important;width:100%!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-radius:4px!important;background:var(--admin-input-bg)!important;color:var(--strong)!important;font-size:14px!important;text-transform:none!important}
 .administration-page-root .admin-discord-content{display:block!important;min-height:0!important;overflow:auto!important;background:var(--admin-content-bg)!important}
 .administration-page-root .admin-discord-content-inner{width:calc(100% - 28px)!important;margin:0 auto!important;padding:22px 0 92px!important}
 .administration-page-root .admin-discord-section-head{display:flex!important;gap:12px!important;margin:0 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid var(--admin-divider)!important}
 .administration-page-root .admin-discord-title{font-size:19px!important;line-height:23px!important}
 .administration-page-root .admin-discord-description{font-size:12px!important;line-height:18px!important}
 .administration-page-root .admin-discord-head-actions{display:none!important}
 .administration-page-root .admin-workspace-card{display:grid!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;scroll-margin:0!important}
 .administration-page-root .admin-workspace-card[hidden]{display:none!important}
 .administration-page-root .admin-workspace-card>h3,.administration-page-root .admin-workspace-card>.admin-section-description,.administration-page-root .admin-workspace-card>.admin-realtime-head>div>h3,.administration-page-root .admin-workspace-card>.admin-realtime-head>div>.settings-help{display:none!important}
 .administration-page-root .admin-workspace-card .field{min-height:42px!important;padding:10px!important;font-size:16px!important;border-radius:4px!important}
 .administration-page-root .admin-workspace-card>.app-switch-row,.administration-page-root .admin-workspace-card .admin-update-policy>.app-switch-row,.administration-page-root .admin-workspace-card .admin-livekit-fields>.app-switch-row{min-height:0!important;margin:0!important;padding:15px 0!important;border-radius:0!important;background:transparent!important}
 .administration-page-root .admin-workspace-card .app-switch-row strong{font-size:14px!important}
 .administration-page-root .admin-workspace-card .app-switch-row small{font-size:12px!important;line-height:17px!important}
 .administration-page-root .admin-number-grid,.administration-page-root .admin-livekit-fields,.administration-page-root .admin-update-policy,.administration-page-root .admin-update-workspace-grid{grid-template-columns:minmax(0,1fr)!important}
 .administration-page-root .admin-overview-grid{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .administration-page-root .admin-overview-grid article{min-height:94px!important;padding:14px!important}
 .administration-page-root .admin-overview-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
 .administration-page-root .admin-overview-actions>button{justify-content:center!important;min-height:38px!important;font-size:13px!important}
 .administration-page-root .admin-update-actions{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
 .administration-page-root .admin-realtime-stream-row{grid-template-columns:minmax(0,1fr)!important}
 .administration-page-root .administration-settings-content>.settings-unsaved-bar{left:50%!important;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;translate:-50% 0!important;width:calc(100vw - 24px)!important;margin:0!important}
}

/* v1.7.1.23 — mobile companion for the full Discord-style Administration workspace. */
@media(max-width:700px){
 .shell.administration-surface,.shell.administration-surface.members-hidden,.shell.administration-surface.members-unavailable{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;grid-template-areas:"main"!important}
 .shell.administration-surface>.rail,.shell.administration-surface>.header,.shell.administration-surface>.sidebar,.shell.administration-surface>.sidebar-resizer,.shell.administration-surface>.members,.shell.administration-surface>.mobile-youbar{display:none!important}
 .administration-page-root .admin-discord-shell{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}
 .administration-page-root .admin-discord-sidebar{display:block!important;padding:0!important;border-bottom:1px solid var(--admin-divider)!important;background:var(--admin-sidebar-bg)!important}
 .administration-page-root .admin-sidebar-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;height:auto!important;margin:0!important;padding:max(10px,env(safe-area-inset-top)) 12px 10px!important}
 .administration-page-root .admin-sidebar-top{display:flex!important;min-height:32px!important;margin:0!important;padding:0!important}
 .administration-page-root .admin-mobile-close{display:grid!important}
 .administration-page-root .admin-workspace-search,.administration-page-root .admin-section-nav,.administration-page-root .admin-sidebar-footer{display:none!important}
 .administration-page-root .admin-section-select-wrap{display:grid!important;gap:4px!important;margin:0!important;padding:0!important;color:var(--muted)!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important}
 .administration-page-root .admin-section-select{display:block!important;width:100%!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-radius:4px!important;background:var(--admin-control-bg)!important;color:var(--strong)!important;font-size:14px!important;text-transform:none!important}
 .administration-page-root .admin-discord-content{display:block!important;min-height:0!important;overflow:auto!important;background:var(--admin-content-bg)!important}
 .administration-page-root .admin-discord-content-region{display:block!important;width:100%!important;margin:0!important;padding:22px 14px 92px!important}
 .administration-page-root .admin-discord-content-inner{width:100%!important;margin:0!important;padding:0!important}
 .administration-page-root .admin-discord-tools{display:none!important}
 .administration-page-root .admin-discord-section-head{margin:0 0 22px!important;padding:0!important;border:0!important}
 .administration-page-root .admin-discord-title-row{gap:9px!important}
 .administration-page-root .admin-discord-title{font-size:19px!important;line-height:23px!important}
 .administration-page-root .admin-discord-description{font-size:12px!important;line-height:18px!important}
 .administration-page-root .admin-workspace-card .field{min-height:42px!important;padding:10px!important;font-size:16px!important}
 .administration-page-root .admin-workspace-card>.app-switch-row,.administration-page-root .admin-workspace-card .admin-update-policy>.app-switch-row,.administration-page-root .admin-workspace-card .admin-livekit-fields>.app-switch-row{padding:15px 0!important}
 .administration-page-root .admin-number-grid,.administration-page-root .admin-livekit-fields,.administration-page-root .admin-update-policy,.administration-page-root .admin-update-workspace-grid{grid-template-columns:minmax(0,1fr)!important}
 .administration-page-root .admin-overview-grid{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .administration-page-root .admin-overview-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .administration-page-root .admin-overview-actions>button{justify-content:center!important;min-height:38px!important}
 .administration-page-root .admin-update-actions{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
 .administration-page-root .admin-realtime-stream-row{grid-template-columns:minmax(0,1fr)!important}
 .administration-page-root .administration-settings-content>.settings-unsaved-bar{left:50%!important;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;translate:-50% 0!important;width:calc(100vw - 24px)!important;margin:0!important}
}

/* v1.7.1.24 — Administration modal mobile isolation. */
@media(max-width:700px){
 .modal-backdrop:has(> .modal.modal-administration){padding:8px!important;align-items:center!important;justify-content:center!important}
 .modal-backdrop > .modal.modal-administration{width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:10px!important;overflow:hidden!important}
 .modal-administration .administration-modal-root,.modal-administration .administration-settings-content{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
 .modal-administration .admin-discord-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;width:100%!important;height:100%!important}
 .modal-administration .admin-discord-sidebar{display:block!important;padding:0!important;border-right:0!important;border-bottom:1px solid var(--admin-divider)!important;background:var(--admin-sidebar-bg)!important}
 .modal-administration .admin-sidebar-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;height:auto!important;margin:0!important;padding:max(10px,env(safe-area-inset-top)) 50px 10px 12px!important}
 .modal-administration .admin-workspace-search,.modal-administration .admin-section-nav,.modal-administration .admin-sidebar-footer{display:none!important}
 .modal-administration .admin-section-select-wrap{display:grid!important;gap:4px!important;margin:0!important;color:var(--muted)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important}
 .modal-administration .admin-section-select{display:block!important;width:100%!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-radius:4px!important;background:var(--admin-control-bg)!important;color:var(--strong)!important;font-size:14px!important;text-transform:none!important}
 .modal-administration .admin-discord-content{display:block!important;min-height:0!important;overflow:auto!important;background:var(--admin-content-bg)!important}
 .modal-administration .admin-discord-content-region{display:block!important;width:100%!important;margin:0!important;padding:20px 14px 86px!important}
 .modal-administration .admin-discord-content-inner{width:100%!important;margin:0!important;padding:0!important}
 .modal-administration .admin-discord-section-head{margin:0 0 18px!important;padding:0 34px 14px 0!important;border-bottom:1px solid var(--admin-divider)!important}
 .modal-administration .admin-number-grid,.modal-administration .admin-livekit-fields,.modal-administration .admin-update-policy,.modal-administration .admin-update-workspace-grid{grid-template-columns:minmax(0,1fr)!important}
 .modal-administration .admin-overview-grid{grid-template-columns:minmax(0,1fr)!important}
 .modal-administration .admin-user-feature-row{grid-template-columns:auto minmax(0,1fr)!important}
 .modal-administration .administration-settings-content>.settings-unsaved-bar{left:50%!important;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;translate:-50% 0!important;width:calc(100% - 24px)!important;margin:0!important}
}


/* v1.7.1.25 — Administration responsive/mobile control pass. */
@media(max-width:720px){
  .modal-backdrop:has(> .modal.modal-administration){
    padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
  }
  .modal-backdrop > .modal.modal-administration{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    border-radius:10px!important;
  }
  .modal-administration .admin-discord-shell{
    grid-template-rows:auto minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  .modal-administration .admin-discord-sidebar{
    flex:none!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .modal-administration .admin-sidebar-inner{
    height:auto!important;
    min-height:0!important;
    padding:max(9px,env(safe-area-inset-top)) 48px 9px 10px!important;
  }
  .modal-administration .admin-sidebar-head strong{font-size:12px!important}
  .modal-administration .admin-sidebar-head small{font-size:9px!important}
  .modal-administration .admin-section-select{
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:16px!important;
  }
  .modal-administration .admin-discord-content{
    min-height:0!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .modal-administration .admin-discord-content-region{padding:18px 12px 86px!important}
  .modal-administration .admin-discord-section-head{padding-right:38px!important}
  .modal-administration .admin-workspace-card > .app-switch-row,
  .modal-administration .admin-workspace-card .admin-update-policy > .app-switch-row,
  .modal-administration .admin-workspace-card .admin-livekit-fields > .app-switch-row,
  .modal-administration .spotify-admin-settings > .app-switch-row,
  .modal-administration .seek-ai-admin-settings > .app-switch-row{
    align-items:center!important;
    gap:12px!important;
    padding:14px 0!important;
  }
  .modal-administration .app-toggle{flex-basis:40px!important}
  .modal-administration :is(.admin-overview-actions,.admin-update-actions,.admin-database-backup-actions,.admin-database-backup-toolbar){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .modal-administration :is(.admin-overview-actions,.admin-update-actions,.admin-database-backup-actions,.admin-database-backup-toolbar) > button{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }
  .modal-administration .seek-ai-admin-model-row{grid-template-columns:minmax(0,1fr)!important}
  .modal-administration .seek-ai-admin-model-row > button{width:100%!important;min-height:42px!important}
  .modal-administration .admin-realtime-head{align-items:stretch!important;flex-direction:column!important}
  .modal-administration .admin-realtime-head > button{align-self:flex-start!important;min-height:40px!important}
  .modal-administration .admin-user-feature-row{grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important}
  .modal-administration .admin-user-feature-identity{min-width:0!important}
  .modal-administration .server-admin-toggle{grid-column:1/-1!important}
}
@media(max-width:480px){
  .modal-backdrop:has(> .modal.modal-administration){padding:0!important}
  .modal-backdrop > .modal.modal-administration{border:0!important;border-radius:0!important}
  .modal-backdrop > .modal.modal-administration > .close{top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important}
  .modal-administration .admin-sidebar-inner{padding-left:max(10px,env(safe-area-inset-left))!important}
  .modal-administration .admin-discord-content-region{padding:16px max(10px,env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important}
  .modal-administration .admin-discord-title{font-size:17px!important;line-height:21px!important}
  .modal-administration .admin-discord-description{font-size:11px!important;line-height:16px!important}
  .modal-administration .admin-workspace-card .field{font-size:16px!important}
  .modal-administration .admin-workspace-card > .app-switch-row > span,
  .modal-administration .admin-workspace-card .app-switch-row > span{padding-right:2px!important}
  .modal-administration .administration-settings-content > .settings-unsaved-bar{
    width:calc(100% - 16px)!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}


/* v1.7.1.26 — Administration follows the shared full-modal mobile geometry and close affordance. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-backdrop:has(> .modal.modal-full.modal-administration){
    align-items:stretch!important;
    justify-content:stretch!important;
    padding:0!important;
  }
  .modal-backdrop > .modal.modal-full.modal-administration{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    max-height:100%!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
  }
  .modal-backdrop > .modal.modal-full.modal-administration > .close{
    top:max(8px,var(--mobile-safe-top,env(safe-area-inset-top)))!important;
    right:max(8px,var(--mobile-safe-right,env(safe-area-inset-right)))!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    background:var(--panel)!important;
    box-shadow:0 2px 10px rgba(0,0,0,.28)!important;
  }
  .modal-administration .admin-sidebar-inner{
    padding-top:max(10px,var(--mobile-safe-top,env(safe-area-inset-top)))!important;
    padding-right:60px!important;
  }
}


/* v1.7.1.29 — Mobile companion for the intrinsic Administration content column. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-administration .admin-discord-content{
    padding:0!important;
    background:var(--admin-content-bg)!important;
  }
  .modal-administration .admin-discord-content-region{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:20px 14px max(86px,calc(70px + var(--mobile-safe-bottom,env(safe-area-inset-bottom))))!important;
    background:transparent!important;
    border-radius:0!important;
  }
  .modal-administration .admin-discord-content-inner{
    width:100%!important;
    max-width:740px!important;
    min-height:0!important;
    height:auto!important;
    margin:0 auto!important;
  }
}

/* v1.7.1.30 — Mobile Administration edge gutter belongs to the scroll viewport. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-administration .admin-discord-content{
    box-sizing:border-box!important;
    padding:18px max(14px,var(--mobile-safe-right,env(safe-area-inset-right))) max(72px,calc(58px + var(--mobile-safe-bottom,env(safe-area-inset-bottom)))) max(14px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
  }
  .modal-administration .admin-discord-content-region{
    width:min(836px,100%)!important;
    max-width:836px!important;
    margin:0 auto!important;
    padding:0!important;
  }
}

/* v1.7.1.31 — Mobile Administration keeps persistent space above and below the scrolling region. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-administration .admin-discord-content{
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:12px max(12px,var(--mobile-safe-right,env(safe-area-inset-right))) max(14px,var(--mobile-safe-bottom,env(safe-area-inset-bottom))) max(12px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
  }
  .modal-administration .admin-discord-content-region{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    max-width:836px!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0 auto!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }
  .modal-administration .admin-discord-content-inner{
    width:100%!important;
    max-width:740px!important;
    min-height:0!important;
    height:auto!important;
    margin:0 auto!important;
    padding-bottom:max(72px,calc(56px + var(--mobile-safe-bottom,env(safe-area-inset-bottom))))!important;
  }
}

/* v1.7.1.40 — mobile companion for the authoritative application-wide spacing rhythm. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :is(
    .header-actions,.msg-actions,.composer-actions,.userbar-controls,.voice-box-actions,
    .voice-stage-head-actions,.voice-stage-view-switch,.voice-stage-toolbar,
    .group-files-toolbar-actions,.emoji-picker-actions,.image-lightbox-actions,
    .role-order-controls
  ){gap:var(--gap-icon)!important}

  :is(
    .actions,.inline,.modal-actions,.modal-footer,.dialog-actions,.messagebox-actions,
    .settings-page-actions,.settings-row-actions,.voice-settings-actions,.channel-actions,
    .category-actions,.group-actions,.friend .actions,.account-detail-actions,
    .invite-row-actions,.cookie-consent-actions,.server-profile-upload-actions,
    .spotify-connection-actions,.developer-form-actions,.developer-authorize-actions,
    .developer-doc-download-actions,.developer-application-doc-actions,
    .group-files-detail-actions,.group-files-header-actions,.group-files-footer-actions,
    .admin-quick-actions,.admin-overview-actions,.admin-update-actions,
    .admin-update-zip-actions,.admin-database-backup-toolbar,.admin-database-backup-actions
  ){column-gap:var(--gap-control)!important;row-gap:var(--gap-control)!important}

  :is(
    .settings-list>div,.permission-row,.account-detail-row,.server-member-settings-row,
    .developer-toggle-row,.developer-check-row,.admin-user-feature-row,.invite-row,.ban-row,
    .danger-row,.radio-row,.group-files-row,.voice-participant-row,.security-action-row,
    .admin-database-backup-row,.admin-update-backup-row,.admin-realtime-stream-row
  ){column-gap:var(--gap-row)!important;row-gap:var(--gap-control)!important}
  .app-switch-row{column-gap:var(--gap-row)!important;row-gap:var(--gap-control)!important}

  :is(
    .settings-page-head,.voice-settings-card-head,.security-section-head,.friend-section-head,
    .developer-panel-heading,.developer-section-heading,.developer-app-header,
    .developer-portal-header,.developer-doc-header,.developer-doc-section-heading,
    .group-files-detail-head,.group-files-header,.group-files-toolbar,.group-files-browser-head,
    .voice-channel-options-head,.admin-workspace-group-head,.admin-subsection-head,
    .admin-realtime-head,.admin-update-package-head,.admin-operation-live-head,
    .admin-operation-current
  ){column-gap:var(--gap-row)!important;row-gap:var(--gap-control)!important}

  .settings-content>.settings-page-head{margin-bottom:var(--gap-surface)!important}
  .settings-field-stack{gap:var(--gap-control)!important}
  :is(.security-settings-layout,.profile-settings-grid,.developer-settings-grid,.admin-update-workspace-grid,.server-profile-layout){gap:var(--gap-surface)!important}

  .settings-content>:is(.settings-card,.voice-settings-card,.security-settings-layout,.account-hero,.account-details,.profile-settings-grid,.profile-preview-card,.friends-section)+:is(.settings-card,.voice-settings-card,.security-settings-layout,.account-hero,.account-details,.profile-settings-grid,.profile-preview-card,.friends-section){margin-top:var(--gap-surface)!important}

  .group-files-header,.group-files-toolbar{gap:var(--gap-control)!important}
  .group-files-browser.view-grid .group-files-list{gap:var(--gap-control)!important}

  .modal-administration .admin-discord-section-head{margin-bottom:var(--gap-surface)!important;padding-bottom:var(--gap-row)!important}
  .modal-administration .admin-overview-grid{gap:var(--gap-row)!important}
  .modal-administration .admin-workspace-card>.app-switch-row,
  .modal-administration .admin-workspace-card .admin-update-policy>.app-switch-row,
  .modal-administration .admin-workspace-card .admin-livekit-fields>.app-switch-row,
  .modal-administration .spotify-admin-settings>.app-switch-row,
  .modal-administration .seek-ai-admin-settings>.app-switch-row{gap:var(--gap-row)!important}
  .modal-administration #admin-section-updates,
  .modal-administration #admin-section-database,
  .modal-administration #admin-section-realtime{row-gap:var(--gap-surface)!important}
}

/* v1.7.1.41 — mobile flow-spacing companion.
   Preserve section boundaries after wrapping/stacking while keeping the mobile
   viewport denser than desktop. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .developer-section-heading{margin:var(--gap-block) 0 var(--gap-row)!important}
  .developer-landing>.developer-app-grid+.developer-owner-audit,
  .developer-landing>.developer-panel+.developer-panel{margin-top:var(--gap-block)!important}
  .developer-tab-content,.developer-operations,.developer-installation,.developer-application-docs,.developer-settings-column{row-gap:var(--gap-surface)!important}
  .developer-empty.compact{padding:var(--gap-surface)!important}

  .settings-content>:is(.settings-card,.voice-settings-card,.security-settings-layout,.account-hero,.account-details,.profile-settings-grid,.profile-preview-card,.friends-section)+:is(.settings-card,.voice-settings-card,.security-settings-layout,.account-hero,.account-details,.profile-settings-grid,.profile-preview-card,.friends-section){margin-top:var(--gap-surface)!important}
  .modal-footer,.messagebox-actions,.dialog-actions{padding-top:var(--gap-surface)!important}
  .group-files-section+.group-files-section{margin-top:var(--gap-surface)!important}

  .modal-administration :is(#admin-section-updates,#admin-section-database,#admin-section-realtime,#admin-section-development){row-gap:var(--gap-surface)!important}
}

/* Application 1.7.1.83 — Discord profile cards never expose an inner scrollbar on mobile.
   The full-screen sheet remains naturally wheel/touch scrollable when content is taller
   than the available viewport. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-backdrop > .modal.modal-profile > .profile-card{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none;
    scrollbar-gutter:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
  .modal-backdrop > .modal.modal-profile > .profile-card::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
}

/* Application 1.7.1.84 — responsive Discord profile redesign. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-backdrop > .modal.modal-profile{
    width:min(100%,560px)!important;
    max-width:100%!important;
    max-height:94dvh!important;
    border-radius:16px 16px 0 0!important;
  }
  .modal-profile .profile-banner{
    height:112px!important;
    min-height:112px!important;
    border-radius:16px 16px 0 0!important;
  }
  .modal-profile .profile-avatar-wrap{
    top:-42px!important;
    margin-left:16px!important;
  }
  .modal-profile .profile-avatar-wrap .avatar.large{
    width:84px!important;
    height:84px!important;
    border-width:6px!important;
    font-size:30px!important;
  }
  .modal-profile .profile-avatar-wrap .avatar.large .status-dot{
    width:21px!important;
    height:21px!important;
    border-width:4px!important;
  }
  .modal-profile .profile-body{
    padding:49px 14px max(16px,env(safe-area-inset-bottom))!important;
  }
  .modal-profile .profile-header-row{
    gap:10px;
    margin-bottom:7px;
  }
  .modal-profile .profile-name-heading{
    font-size:21px;
    line-height:26px;
  }
  .modal-profile .profile-account-name{
    font-size:13px;
    line-height:18px;
  }
  .modal-profile .profile-header-action{
    min-width:36px;
    min-height:36px;
    max-width:150px;
    padding:7px 10px;
  }
  .modal-profile .profile-header-action .app-icon{width:16px;height:16px}
  .modal-profile .profile-custom-status{margin-top:6px}
  .modal-profile .profile-activity-host,.modal-profile .profile-info-card{margin-top:10px}
  .modal-profile .spotify-profile-activity{
    grid-template-columns:52px minmax(0,1fr);
    gap:9px;
    padding:10px;
  }
  .modal-profile .spotify-profile-activity img,
  .modal-profile .spotify-profile-art-placeholder{width:52px;height:52px}
  .modal-profile .profile-info-card{padding:12px}
  .modal-profile .profile-section+.profile-section{margin-top:11px;padding-top:11px}
  .modal-profile .profile-meta-grid{grid-template-columns:1fr;gap:11px}
  .modal-profile .profile-meta-item+.profile-meta-item{
    padding-top:11px;
    border-top:1px solid color-mix(in srgb,var(--muted) 19%,transparent);
  }
}
@media(max-width:420px){
  .modal-profile .profile-header-row{align-items:flex-start}
  .modal-profile .profile-header-action span{display:none}
  .modal-profile .profile-header-action{width:36px;max-width:36px;padding:7px}
  .modal-profile .profile-name-heading{font-size:20px}
}

/* v1.7.2.6 — mobile account logout stays reachable without a long-press gesture. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
 .account-logout-card{align-items:stretch!important;flex-direction:column!important;gap:12px!important}
 .account-logout-card .account-logout{width:100%!important;min-height:44px!important}
}

/* Mobile UX + accessibility refinement (1.7.2.7).
   These final overrides intentionally sit after the historical responsive rules so
   there is one authoritative behavior for touch targets, drawers and bottom sheets. */
.mobile-message-more{display:none}

@media(max-width:700px){
  :root{
    --layout-header:56px;
    --app-youbar-height:80px;
    --mobile-touch-target:44px;
  }

  /* Header: slightly more breathing room, predictable touch targets and readable title. */
  .header{
    min-height:calc(var(--layout-header) + env(safe-area-inset-top))!important;
    padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))!important;
    gap:6px!important;
  }
  .header .head-title{font-size:17px!important;line-height:1.2;min-width:0;flex:1}
  .header-actions{gap:4px!important;flex:none}
  .header-actions .icon-btn,.mobile-menu,.member-toggle{
    width:var(--mobile-touch-target)!important;height:var(--mobile-touch-target)!important;
    min-width:var(--mobile-touch-target)!important;min-height:var(--mobile-touch-target)!important;
    border-radius:13px!important;
  }

  /* Drawer surfaces stay familiar, but have safer edge spacing and larger rows. */
  .rail{padding-left:8px!important;padding-right:8px!important;overscroll-behavior:contain}
  .server-btn{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
  .sidebar{box-shadow:12px 0 36px rgba(0,0,0,.46)!important}
  .sidebar-title{min-height:52px!important;padding-inline:12px!important}
  .sidebar-scroll{padding:10px 8px 18px!important}
  .channel,.voice-channel-button,.dm-row,.group-row{
    min-height:44px!important;border-radius:9px!important;padding-top:8px!important;padding-bottom:8px!important;
  }
  .category{margin-top:18px!important;margin-bottom:6px!important;letter-spacing:.02em}
  .members{padding:12px 8px max(18px,env(safe-area-inset-bottom))!important}
  .member{
    min-height:48px!important;padding:7px 9px!important;border-radius:10px!important;cursor:pointer;
  }
  .member .avatar{width:36px;height:36px}
  .member:focus-visible,.channel:focus-visible,.voice-channel-button:focus-visible,.dm-row:focus-visible,.group-row:focus-visible{
    outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff)!important;outline-offset:2px!important;background:var(--hover)!important;color:var(--strong)!important;
  }
  .mobile-backdrop{cursor:default}

  /* Bottom navigation: larger labels/targets, clearer selected/expanded state. */
  .mobile-youbar{
    height:72px!important;min-height:72px!important;
    grid-template-columns:56px minmax(0,1fr) 56px 56px!important;
    gap:7px!important;padding:7px!important;border-radius:22px!important;
  }
  .mobile-youbar-item{width:56px!important;min-width:56px!important;height:58px!important;min-height:58px!important;border-radius:16px!important}
  .mobile-youbar-item .app-icon{width:24px!important;height:24px!important}
  .mobile-youbar-item span{font-size:11px!important;line-height:12px!important;font-weight:700!important}
  .mobile-youbar-profile{height:58px!important;min-height:58px!important;padding:6px 12px 6px 7px!important;border-radius:17px!important}
  .mobile-youbar-profile .avatar{width:44px!important;height:44px!important;flex-basis:44px!important}
  .mobile-youbar-item[aria-expanded="true"],.mobile-youbar-item:focus-visible,.mobile-youbar-profile:focus-visible{
    background:var(--hover)!important;color:var(--strong)!important;outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff)!important;outline-offset:1px!important;
  }
  .mobile-youbar-badge{min-width:18px!important;height:18px!important;font-size:10px!important;top:2px!important;right:2px!important}

  /* Message density stays compact, while every message has an explicit discoverable
     action menu; long-press remains a shortcut rather than the only route. */
  .message{padding-block:6px!important;min-height:50px}
  .message>.mobile-message-more{
    display:grid;place-items:center;position:absolute;right:7px;top:4px;z-index:2;
    width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:12px;
    background:transparent;color:var(--muted);cursor:pointer;
  }
  .message>.mobile-message-more:active{background:var(--hover);color:var(--strong)}
  .message>.mobile-message-more:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff);outline-offset:1px;background:var(--hover);color:var(--strong)}
  .message .msg-head{padding-right:36px;line-height:1.35}
  .message .content{font-size:15px!important;line-height:1.46!important}
  .message .time{font-size:11px!important}
  .reaction{min-height:32px;padding:4px 8px}
  .msg-actions button{min-width:40px;min-height:40px}

  /* Composer: avoid tiny controls and make the text entry easier to read without
     changing the established one-row workflow. */
  .composer-wrap{padding-left:max(8px,env(safe-area-inset-left))!important;padding-right:max(8px,env(safe-area-inset-right))!important}
  .composer{min-height:50px!important;padding:5px!important;border-radius:15px!important;gap:2px!important}
  .composer textarea{font-size:16px!important;line-height:22px!important;min-height:38px!important;padding:8px 3px!important}
  .composer .icon-btn{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;border-radius:12px!important;padding:8px!important}
  .replying{line-height:1.4;padding:9px 11px}
  .typing{min-height:20px;padding:3px 4px 1px}

  /* Inputs: prevent iOS auto-zoom and provide consistent finger-sized controls. */
  input.field,select.field,textarea.field,.settings-content input:not([type="checkbox"]):not([type="radio"]),.settings-content select,.settings-content textarea{
    min-height:46px;font-size:16px!important;line-height:1.35;border-radius:8px;
  }
  textarea.field,.settings-content textarea{min-height:92px}
  .primary,.secondary,.danger-button,.action-button,.modal-footer button,.modal-actions button,.messagebox-actions button{
    min-height:44px!important;padding-block:10px!important;
  }

  /* Bottom sheets: obvious grab area, stable close target and sticky action rows. */
  .modal-backdrop{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}
  .modal:not(.modal-full):not(.modal-profile){
    position:relative!important;border-radius:22px 22px 0 0!important;
    padding-top:28px!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  }
  .modal:not(.modal-full):not(.modal-profile)::before{
    content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);
    width:42px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--muted) 42%,transparent);pointer-events:none;
  }
  .modal>.close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:13px!important;z-index:4}
  .modal-actions,.modal-footer,.messagebox-actions{
    gap:8px!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
  }
  .context-menu{border-radius:14px!important;padding:6px!important}
  .context-menu button{min-height:46px!important;border-radius:9px!important;padding:9px 10px!important}

  /* Settings: top tabs remain horizontal, but behave like a real mobile tab strip. */
  .settings-nav{
    position:sticky!important;top:0!important;z-index:5!important;
    min-height:56px!important;padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))!important;
    gap:5px!important;scroll-padding-inline:12px!important;overscroll-behavior-x:contain;
    background:var(--panel)!important;border-bottom:1px solid color-mix(in srgb,var(--muted) 18%,transparent)!important;
  }
  .settings-nav button{min-height:44px!important;padding:9px 13px!important;border-radius:10px!important}
  .settings-nav button.active{background:color-mix(in srgb,var(--accent) 18%,var(--hover))!important;color:var(--strong)!important}
  .settings-nav button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff)!important;outline-offset:-2px!important}
  .settings-content{padding:18px 14px calc(var(--app-youbar-height) + 34px)!important;scroll-padding-top:16px!important}
  .settings-content>h2,.settings-page-head h2{font-size:22px!important;line-height:1.2}
  .settings-help,.settings-page-head p{line-height:1.5}
  .settings-card,.account-details,.voice-settings-card,.theme-card{border-radius:14px!important}

  /* Friends/inbox use full-row touch targets and keep action buttons reachable. */
  .friends{padding-left:10px!important;padding-right:10px!important}
  .friend{min-height:58px!important;padding:10px 8px!important;border-radius:10px}
  .friend-action{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .mobile-inbox-list button{min-height:64px!important;border-radius:14px!important;padding:10px 12px!important}

  /* Keep temporary UI above the floating bottom navigation. */
  .toast-stack,.message-notification-stack{bottom:calc(var(--app-youbar-height) + env(safe-area-inset-bottom) + 12px)!important}
  .mention-autocomplete{bottom:calc(var(--app-youbar-height) + env(safe-area-inset-bottom) + 64px)!important;border-radius:14px!important}
}

@media(max-width:380px){
  .mobile-youbar{grid-template-columns:52px minmax(0,1fr) 52px 52px!important;gap:4px!important;padding:6px!important}
  .mobile-youbar-item{width:52px!important;min-width:52px!important}
  .mobile-youbar-profile{padding-right:7px!important}
  .mobile-youbar-identity small{display:none!important}
  .header .head-title{font-size:16px!important}
  .composer .icon-btn{width:38px!important;min-width:38px!important;padding:7px!important}
}

@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  :root{--layout-header:48px;--app-youbar-height:62px}
  .header{min-height:calc(var(--layout-header) + env(safe-area-inset-top))!important}
  .mobile-youbar{height:56px!important;min-height:56px!important;grid-template-columns:48px minmax(0,1fr) 48px 48px!important;padding:5px!important}
  .mobile-youbar-item,.mobile-youbar-profile{height:46px!important;min-height:46px!important}
  .mobile-youbar-item{width:48px!important;min-width:48px!important}
  .mobile-youbar-item span,.mobile-youbar-identity small{display:none!important}
  .settings-content{padding-bottom:24px!important}
}

@media(max-width:700px) and (prefers-reduced-motion:reduce){
  .rail,.sidebar,.members,.mobile-backdrop,.mobile-youbar,.mobile-youbar-item,.mobile-youbar-profile,.modal,.toast-item{
    transition:none!important;animation:none!important;scroll-behavior:auto!important;
  }
  .mobile-youbar-item:active,.mobile-youbar-item.active{transform:none!important}
}

@media(max-width:700px) and (forced-colors:active){
  .mobile-youbar,.sidebar,.members,.modal,.context-menu{border:1px solid CanvasText!important}
  .mobile-youbar-item:focus-visible,.mobile-youbar-profile:focus-visible,.member:focus-visible,.channel:focus-visible,.settings-nav button:focus-visible{outline:2px solid Highlight!important}
}

/* Mobile UX consolidation (1.7.2.8).
   Remove duplicated phone controls and reserve scarce horizontal space for the
   conversation. Desktop/tablet behavior remains unchanged. */
.composer-tools{display:none!important}

@media(max-width:700px){
  /* The persistent You Bar is the phone navigation authority. Header drawer
     buttons duplicated Home/Members and unnecessarily compressed titles. */
  .mobile-menu,.member-toggle{display:none!important}
  .header{padding-left:max(14px,env(safe-area-inset-left))!important}
  .header .head-title{padding-left:0!important}
  .header-actions .group-files-toggle,.header-actions .dm-games-toggle{
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:13px!important;
  }

  /* Keep one message action surface on touch devices. The explicit More button
     opens the complete accessible context menu; the desktop hover toolbar no
     longer appears at the same time when that button receives focus. */
  .msg-actions,.message:focus-within .msg-actions,.message.actions-open .msg-actions{display:none!important}

  /* Frequent composer actions stay one tap away. Occasional actions share one
     Tools control, giving the text field substantially more room on narrow phones. */
  .composer>.upload,.composer>.gif,.composer>.nudge{display:none!important}
  .composer>.composer-tools{display:grid!important;place-items:center}
  .composer>.composer-tools[aria-expanded="true"],.composer>.composer-tools:focus-visible{
    background:var(--hover)!important;color:var(--strong)!important;
  }

  /* Do not reserve an empty Members slot in DMs, groups or other surfaces where
     a member drawer is unavailable. */
  .shell.members-unavailable .mobile-youbar{grid-template-columns:56px minmax(0,1fr) 56px!important}
  .shell.members-unavailable .mobile-youbar-members{display:none!important}
  .mobile-youbar-notifications[aria-expanded="true"]{background:var(--hover)!important;color:var(--strong)!important}

  /* Inbox behaves like a compact task list instead of another generic modal. */
  .mobile-inbox-head{padding:0 4px 10px}
  .mobile-inbox-head h2{font-size:22px;line-height:1.2}
  .mobile-inbox-head p{line-height:1.45}
  .mobile-inbox-list{gap:5px!important;overscroll-behavior:contain}
  .mobile-inbox-list button{position:relative;min-height:68px!important;padding:11px 12px!important;border:1px solid transparent!important}
  .mobile-inbox-list button:active{background:var(--hover)!important}
  .mobile-inbox-list button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff)!important;outline-offset:1px!important;background:var(--hover)!important}
  .mobile-inbox-list button strong,.mobile-inbox-list button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .mobile-inbox-list button>b{flex:none}
}

@media(max-width:380px){
  .shell.members-unavailable .mobile-youbar{grid-template-columns:52px minmax(0,1fr) 52px!important}
}

@media(max-width:700px) and (orientation:landscape) and (max-height:500px){
  .shell.members-unavailable .mobile-youbar{grid-template-columns:48px minmax(0,1fr) 48px!important}
}

.mobile-jump-present{display:none!important}
@media(max-width:700px){
  .composer-wrap{position:relative!important}
  .mobile-jump-present:not([hidden]){
    position:absolute;right:max(12px,env(safe-area-inset-right));top:-44px;z-index:7;
    display:inline-flex!important;align-items:center;gap:7px;min-height:38px;padding:7px 11px;
    border:1px solid color-mix(in srgb,var(--muted) 20%,transparent);border-radius:999px;
    background:color-mix(in srgb,var(--panel) 95%,transparent);color:var(--strong);box-shadow:0 6px 18px rgba(0,0,0,.28);
    font-weight:700;font-size:12px;backdrop-filter:blur(16px);cursor:pointer;
  }
  .mobile-jump-present .app-icon{width:17px;height:17px}
  .mobile-jump-present:active{transform:translateY(1px);background:var(--hover)}
  .mobile-jump-present:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 82%,#fff);outline-offset:2px}
}
@media(max-width:360px){.mobile-jump-present span{display:none}.mobile-jump-present:not([hidden]){width:40px;min-width:40px;height:40px;padding:0;justify-content:center}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.mobile-jump-present{transition:none!important;transform:none!important}}

/* Mobile cutout + media reliability refinement (1.7.2.9).
   This block is intentionally last: older mobile layers contained fixed padding
   overrides that could win over the safe-area rules on notched devices. */
@media(max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :root{
    --mobile-safe-top:env(safe-area-inset-top,0px);
    --mobile-safe-right:env(safe-area-inset-right,0px);
    --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    --mobile-safe-left:env(safe-area-inset-left,0px);
    --mobile-header-content-h:56px;
    --mobile-header-h:calc(var(--mobile-header-content-h) + var(--mobile-safe-top));
    --mobile-nav-content-h:72px;
    --mobile-nav-h:calc(var(--mobile-nav-content-h) + var(--mobile-safe-bottom));
    --mobile-rail-content-w:68px;
    --mobile-rail-w:calc(var(--mobile-rail-content-w) + var(--mobile-safe-left));
  }

  /* Keep the layout grid itself aware of the physical display cutout. */
  .shell,.shell.members-hidden,.shell.members-unavailable{
    grid-template-rows:var(--mobile-header-h) minmax(0,1fr) var(--mobile-nav-h)!important;
  }
  .header{
    min-height:var(--mobile-header-h)!important;
    height:var(--mobile-header-h)!important;
    padding:var(--mobile-safe-top) max(10px,var(--mobile-safe-right)) 0 max(10px,var(--mobile-safe-left))!important;
  }

  /* Bottom navigation: preserve a full 72px control area plus the home-indicator
     inset. In landscape, left/right cutouts are part of the bar's own padding. */
  .mobile-youbar{
    height:var(--mobile-nav-h)!important;
    min-height:var(--mobile-nav-h)!important;
    max-height:var(--mobile-nav-h)!important;
    padding:7px max(8px,var(--mobile-safe-right)) max(7px,var(--mobile-safe-bottom)) max(8px,var(--mobile-safe-left))!important;
  }

  /* Navigation drawer: reserve the left cutout before the server rail rather
     than allowing the first server icons to sit underneath a landscape notch. */
  .rail{
    width:var(--mobile-rail-w)!important;
    min-width:var(--mobile-rail-w)!important;
    max-width:var(--mobile-rail-w)!important;
    padding-left:max(8px,var(--mobile-safe-left))!important;
    padding-right:8px!important;
  }
  .sidebar{left:var(--mobile-rail-w)!important;max-width:calc(var(--app-viewport-width,100vw) - var(--mobile-rail-w))!important}
  .members{padding-left:12px!important;padding-right:max(12px,var(--mobile-safe-right))!important}

  /* Conversation content must also avoid side cutouts; protecting only the
     header/composer left avatars and message actions exposed in landscape. */
  .message{
    padding-left:max(8px,var(--mobile-safe-left))!important;
    padding-right:max(8px,var(--mobile-safe-right))!important;
  }
  .message>.mobile-message-more{right:max(7px,var(--mobile-safe-right))!important}
  .composer-wrap{
    padding-left:max(8px,var(--mobile-safe-left))!important;
    padding-right:max(8px,var(--mobile-safe-right))!important;
    padding-bottom:max(10px,var(--mobile-safe-bottom))!important;
  }
  .friends,.welcome{
    padding-left:max(10px,var(--mobile-safe-left))!important;
    padding-right:max(10px,var(--mobile-safe-right))!important;
  }

  /* All high-priority overlays remain operable when either side of a landscape
     viewport is physically obscured. */
  .settings-nav{
    padding-left:max(8px,var(--mobile-safe-left))!important;
    padding-right:max(8px,var(--mobile-safe-right))!important;
  }
  .settings-content{
    padding-left:max(14px,var(--mobile-safe-left))!important;
    padding-right:max(14px,var(--mobile-safe-right))!important;
  }
  .modal:not(.modal-full){
    padding-left:max(16px,var(--mobile-safe-left))!important;
    padding-right:max(16px,var(--mobile-safe-right))!important;
  }
  .context-menu{
    max-width:calc(var(--app-viewport-width,100vw) - var(--mobile-safe-left) - var(--mobile-safe-right) - 16px)!important;
  }
  .emoji-picker{
    left:max(8px,var(--mobile-safe-left))!important;
    right:max(8px,var(--mobile-safe-right))!important;
    width:auto!important;
  }
  .image-lightbox-toolbar{
    left:max(8px,var(--mobile-safe-left))!important;
    right:max(8px,var(--mobile-safe-right))!important;
  }
  .image-lightbox-canvas{
    padding-left:max(8px,var(--mobile-safe-left))!important;
    padding-right:max(8px,var(--mobile-safe-right))!important;
  }
  .toast-stack,.message-notification-stack{
    left:max(10px,var(--mobile-safe-left))!important;
    right:max(10px,var(--mobile-safe-right))!important;
    width:auto!important;
  }

  /* Calls use the full display background, but controls/video tiles stay inside
     the usable area. */
  .voice-stage-head,.voice-stage .callbar{
    padding-left:max(6px,var(--mobile-safe-left))!important;
    padding-right:max(6px,var(--mobile-safe-right))!important;
  }
  .voice-grid{
    padding-left:max(10px,var(--mobile-safe-left))!important;
    padding-right:max(10px,var(--mobile-safe-right))!important;
  }

  /* Broken images remain understandable and recoverable on touch devices. */
  .image-attachment.load-error{min-height:150px}
  .image-attachment .image-retry{min-height:44px;padding:9px 13px}
}

@media(max-width:380px){
  :root{--mobile-nav-content-h:70px}
  .mobile-youbar{padding:6px max(6px,var(--mobile-safe-right)) max(6px,var(--mobile-safe-bottom)) max(6px,var(--mobile-safe-left))!important}
}

@media(max-width:700px) and (orientation:landscape) and (max-height:500px),
       (max-height:500px) and (max-width:950px) and (pointer:coarse) and (orientation:landscape){
  :root{
    --mobile-header-content-h:48px;
    --mobile-nav-content-h:56px;
  }
  .mobile-youbar{padding:5px max(8px,var(--mobile-safe-right)) max(5px,var(--mobile-safe-bottom)) max(8px,var(--mobile-safe-left))!important}
  .message{padding-left:max(8px,var(--mobile-safe-left))!important;padding-right:max(8px,var(--mobile-safe-right))!important}
}

/* 1.7.2.10 — adaptive mobile shell spacing across cutout, compact, tall and landscape devices. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :root{
    --mobile-device-gap:clamp(8px,2.4vw,14px);
    --mobile-panel-top-gap:clamp(9px,1.7dvh,14px);
    --mobile-sidebar-title-min-h:58px;
    --mobile-member-inner-top:12px;
  }

  /* The channel/server title is content-sized. Fixed historical 52px boxes could
     clip descenders after safe-area/font scaling was applied. */
  .sidebar-title{
    flex:0 0 auto!important;
    height:auto!important;
    min-height:var(--mobile-sidebar-title-min-h)!important;
    padding:7px 12px 9px!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
    line-height:normal!important;
  }
  .sidebar-title .server-title-button{
    height:auto!important;
    min-height:42px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .sidebar-title .side-name{
    display:block!important;
    min-width:0!important;
    line-height:1.3!important;
    padding:1px 0 2px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Member drawer begins below the physical top cutout plus a visual gap. The
     panel itself no longer appears glued to the top edge on flat-screen phones. */
  .members{
    top:calc(var(--app-viewport-offset-top,0px) + var(--mobile-safe-top) + var(--mobile-panel-top-gap))!important;
    bottom:calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h) + var(--mobile-device-gap))!important;
    width:min(360px,calc(var(--app-viewport-width,100vw) - max(18px,var(--mobile-safe-left)) - max(18px,var(--mobile-safe-right))))!important;
    max-width:92vw!important;
    padding:var(--mobile-member-inner-top) max(10px,var(--mobile-safe-right)) max(16px,var(--mobile-safe-bottom)) 10px!important;
    border-radius:18px 0 0 18px!important;
  }

  /* Preserve comfortable side clearances on wider/taller handsets without
     wasting space on compact devices. */
  .mobile-youbar{
    column-gap:clamp(4px,1.6vw,8px)!important;
    padding-left:max(var(--mobile-device-gap),var(--mobile-safe-left))!important;
    padding-right:max(var(--mobile-device-gap),var(--mobile-safe-right))!important;
  }
}

/* Compact phones: keep all primary actions available while avoiding vertical waste. */
@media (max-width:360px) and (max-height:760px){
  :root{
    --mobile-panel-top-gap:8px;
    --mobile-sidebar-title-min-h:54px;
    --mobile-member-inner-top:10px;
  }
  .sidebar-title{padding-top:5px!important;padding-bottom:7px!important}
  .members{width:min(330px,94vw)!important;border-radius:15px 0 0 15px!important}
  .mobile-youbar-item span{font-size:10px!important}
}

/* Large phones / small foldables get a little more panel separation. */
@media (min-width:430px) and (max-width:700px) and (min-height:700px){
  :root{--mobile-panel-top-gap:14px;--mobile-member-inner-top:14px}
  .members{max-width:380px!important}
}

/* Short landscape phones need the notch clearances but not portrait-sized gaps. */
@media (orientation:landscape) and (max-height:500px) and (max-width:950px) and (pointer:coarse){
  :root{
    --mobile-panel-top-gap:6px;
    --mobile-sidebar-title-min-h:50px;
    --mobile-member-inner-top:9px;
  }
  .sidebar-title{padding-top:4px!important;padding-bottom:6px!important}
  .members{
    top:calc(var(--app-viewport-offset-top,0px) + var(--mobile-safe-top) + 6px)!important;
    bottom:calc(var(--app-viewport-bottom-gap,0px) + var(--mobile-nav-h) + 6px)!important;
    width:min(360px,78vw)!important;
    border-radius:14px 0 0 14px!important;
  }
}

/* 1.7.2.11 — mobile Connections is a stacked account surface rather than a compressed desktop row. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .connections-page-head{margin-bottom:14px!important}
  .connections-page-head p{max-width:42ch;margin-top:6px!important}
  .spotify-connections-stack{gap:12px!important}
  .spotify-connection-card.music-connection-card{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .music-connection-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:14px!important;
    padding:15px!important;
  }
  .spotify-connection-brand{
    width:100%!important;
    min-width:0!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .spotify-logo-dot{
    display:grid!important;
    place-items:center!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
    background:color-mix(in srgb,var(--accent) 14%,var(--input))!important;
    border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))!important;
    font-size:24px!important;
    line-height:1!important;
  }
  .music-connection-identity{width:100%!important;min-width:0!important;gap:5px!important}
  .music-connection-title-line{align-items:center!important;gap:7px!important}
  .spotify-provider-home{
    min-height:40px!important;
    max-width:100%!important;
    margin:-6px 0 -5px -4px!important;
    padding:6px 4px!important;
    border-radius:8px!important;
    text-decoration:none!important;
  }
  .spotify-provider-home:active{background:var(--hover)!important}
  .spotify-provider-home strong,.music-connection-title-line>.spotify-provider-label{
    max-width:min(54vw,280px)!important;
    font-size:16px!important;
    line-height:1.25!important;
  }
  .music-provider-external .app-icon{width:16px!important;height:16px!important}
  .music-connection-state-badge{min-height:24px!important;padding:3px 8px!important;font-size:11px!important}
  .spotify-connection-status{font-size:13px!important;line-height:1.45!important}
  .spotify-connection-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    margin:0!important;
    gap:8px!important;
  }
  .spotify-connection-actions:empty{display:none!important}
  .spotify-connection-actions button{
    width:100%!important;
    min-height:44px!important;
    height:auto!important;
    padding:10px 14px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  .music-connection-preferences{
    padding:13px 15px 14px!important;
    background:color-mix(in srgb,var(--input) 30%,transparent)!important;
  }
  .music-connection-preferences .spotify-status-visibility{
    min-height:56px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
  }
  .spotify-status-visibility>span{min-width:0!important;display:grid!important;gap:4px!important}
  .spotify-visibility-title{font-size:14px!important;line-height:1.3!important}
  .spotify-visibility-help{margin:0!important;font-size:12px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
  .spotify-status-visibility .app-toggle{flex:0 0 40px!important;margin-left:2px!important}
  .spotify-status-visibility:has(input:disabled){opacity:.72!important}
}

/* Compact phones keep the status readable without forcing the provider title into a sliver. */
@media (max-width:360px){
  .music-connection-main{padding:13px!important;gap:12px!important}
  .music-connection-preferences{padding:12px 13px 13px!important}
  .spotify-logo-dot{flex-basis:40px!important;width:40px!important;height:40px!important;border-radius:12px!important}
  .spotify-provider-home strong,.music-connection-title-line>.spotify-provider-label{max-width:48vw!important;font-size:15px!important}
  .music-connection-state-badge{font-size:10px!important;padding-inline:7px!important}
}

/* Larger phones and small foldables can place the action column beside the provider identity. */
@media (min-width:520px) and (max-width:700px) and (min-height:560px){
  .music-connection-main{grid-template-columns:minmax(0,1fr) minmax(160px,200px)!important;align-items:center!important}
  .spotify-connection-actions{align-self:center!important}
  .spotify-provider-home strong,.music-connection-title-line>.spotify-provider-label{max-width:250px!important}
}

/* Short landscape devices prioritize usable vertical space while retaining 44px actions. */
@media (orientation:landscape) and (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .spotify-connections-stack{gap:9px!important}
  .music-connection-main{grid-template-columns:minmax(0,1fr) minmax(150px,190px)!important;padding:11px 13px!important;gap:10px!important}
  .spotify-logo-dot{flex-basis:40px!important;width:40px!important;height:40px!important}
  .music-connection-preferences{padding:9px 13px 10px!important}
  .music-connection-preferences .spotify-status-visibility{min-height:48px!important}
  .spotify-visibility-help{font-size:11px!important}
}

/* 1.7.2.12 — User Settings mobile check-up.
   Keep one predictable settings system across account, profile, security, voice,
   devices, appearance, language, connections and advanced surfaces. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  /* The settings tab strip owns the top safe area. Reserve the close button on
     the right so the last visible tab never sits underneath it. */
  .modal-settings .user-settings-shell .settings-nav{
    flex:0 0 auto!important;
    min-height:calc(56px + var(--mobile-safe-top,0px))!important;
    padding:
      max(8px,var(--mobile-safe-top,0px))
      max(62px,calc(var(--mobile-safe-right,0px) + 56px))
      8px
      max(10px,var(--mobile-safe-left,0px))!important;
    scroll-padding-left:max(12px,var(--mobile-safe-left,0px))!important;
    scroll-padding-right:max(68px,calc(var(--mobile-safe-right,0px) + 62px))!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
  }
  .modal-settings .user-settings-shell .settings-nav::-webkit-scrollbar{display:none!important}
  .modal-settings .user-settings-shell .settings-nav button{
    min-height:44px!important;
    height:44px!important;
    padding:9px 12px!important;
    border-radius:11px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
  .modal-settings .user-settings-shell .settings-nav button .app-icon{
    width:18px!important;height:18px!important;flex:none!important;
  }

  /* User Settings is a full-screen modal, so it must not reserve space for the
     application bottom navigation hidden behind it. */
  .modal-settings .user-settings-content{
    padding:
      18px
      max(14px,var(--mobile-safe-right,0px))
      max(28px,calc(var(--mobile-safe-bottom,0px) + 20px))
      max(14px,var(--mobile-safe-left,0px))!important;
    scroll-padding-top:16px!important;
    scroll-padding-bottom:max(24px,calc(var(--mobile-safe-bottom,0px) + 18px))!important;
  }
  .modal-settings .user-settings-content>.settings-page-head{
    padding-right:0!important;
    margin-bottom:18px!important;
  }
  .modal-settings .user-settings-content .settings-page-head>div{min-width:0!important}
  .modal-settings .user-settings-content .settings-page-head h2{
    margin:0!important;font-size:22px!important;line-height:1.2!important;
  }
  .modal-settings .user-settings-content .settings-page-head p{
    display:block!important;
    margin:6px 0 0!important;
    max-width:46ch!important;
    color:var(--muted)!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* Cards and controls use the same density everywhere instead of inheriting
     several older mobile flex-wrap rules. */
  .modal-settings .user-settings-content :is(.settings-card,.voice-settings-card){
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    padding:14px!important;
    border-radius:14px!important;
  }
  .modal-settings .user-settings-content .app-switch-row{
    min-height:58px!important;
    margin:0!important;
    padding:12px 0!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
  }
  .modal-settings .user-settings-content .app-switch-row>span{min-width:0!important;flex:1!important}
  .modal-settings .user-settings-content .app-switch-row>input[type="checkbox"],
  .modal-settings .user-settings-content .app-switch-row>.app-toggle{flex:none!important;margin-left:auto!important}
  .modal-settings .user-settings-content :is(.primary,.secondary,.danger-button){min-height:44px!important}

  /* Account identity remains compact but every row has a stable action column. */
  .modal-settings .user-settings-content .account-hero{border-radius:16px!important;padding-bottom:14px!important}
  .modal-settings .user-settings-content .account-banner{height:92px!important;border-radius:16px 16px 0 0!important}
  .modal-settings .user-settings-content .account-profile-row{gap:12px!important;padding:0 14px!important;margin-top:-36px!important}
  .modal-settings .user-settings-content .account-avatar-wrap{width:80px!important;height:80px!important;padding:6px!important}
  .modal-settings .user-settings-content .account-avatar-wrap .avatar.large{width:68px!important;height:68px!important}
  .modal-settings .user-settings-content .account-identity{margin-top:48px!important;min-width:0!important}
  .modal-settings .user-settings-content .account-identity h3{font-size:19px!important}
  .modal-settings .user-settings-content .account-details{
    margin:14px 14px 0!important;padding:3px 12px!important;border-radius:12px!important;
  }
  .modal-settings .user-settings-content .account-detail-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:68px!important;
    gap:10px!important;
    padding:12px 0!important;
  }
  .modal-settings .user-settings-content .account-detail-row>div{min-width:0!important}
  .modal-settings .user-settings-content .account-detail-row>button{
    min-width:72px!important;min-height:44px!important;margin:0!important;
  }
  .modal-settings .user-settings-content :is(.account-security-card,.account-cookie-card,.account-logout-card){
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;
  }
  .modal-settings .user-settings-content :is(.account-security-card,.account-cookie-card,.account-logout-card)>button{margin:0!important}

  /* Device rows distinguish the current session without burying it inside the
     device name, and destructive bulk logout stays visually separate. */
  .modal-settings .user-settings-content .device-management{display:grid!important;gap:14px!important}
  .modal-settings .user-settings-content .device-list{display:grid!important;gap:0!important}
  .modal-settings .user-settings-content .device-row{margin:0!important}
  .modal-settings .user-settings-content .device-row+.device-row{border-top:1px solid var(--settings-border)!important}
  .modal-settings .user-settings-content .device-row-title{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
  .modal-settings .user-settings-content .device-row-title>span{margin:0!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .modal-settings .user-settings-content .device-current-badge{
    flex:none!important;padding:3px 7px!important;border-radius:999px!important;
    background:color-mix(in srgb,#23a55a 15%,transparent)!important;color:#23a55a!important;
    font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.03em!important;
  }
  .modal-settings .user-settings-content .device-management-actions{margin-top:2px!important}
  .modal-settings .user-settings-content .device-management-actions .disconnect-other-devices{width:100%!important}

  /* Voice settings are long on phones. Keep headings/actions predictable and
     sliders easy to manipulate without requiring tiny targets. */
  .modal-settings .user-settings-content .voice-settings-card{margin-bottom:12px!important}
  .modal-settings .user-settings-content .voice-settings-card-head{gap:10px!important;margin-bottom:12px!important}
  .modal-settings .user-settings-content .voice-device-grid-audio,
  .modal-settings .user-settings-content .voice-volume-grid,
  .modal-settings .user-settings-content .voice-input-mode-grid{grid-template-columns:1fr!important;gap:12px!important}
  .modal-settings .user-settings-content .voice-settings-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;
  }
  .modal-settings .user-settings-content .voice-settings-actions>button{width:100%!important;min-width:0!important;white-space:normal!important}
  .modal-settings .user-settings-content .voice-range{min-height:44px!important;width:100%!important;touch-action:pan-y!important}
  .modal-settings .user-settings-content .voice-ptt-settings{align-items:center!important;gap:10px!important}
  .modal-settings .user-settings-content .voice-ptt-key{min-width:104px!important;min-height:44px!important}

  /* Appearance had become unnecessarily tall because every theme card was
     forced to one column by legacy mobile rules. Two columns are comfortable on
     normal phones, with compact fallback below. */
  .modal-settings .user-settings-content .appearance-section{margin-bottom:22px!important}
  .modal-settings .user-settings-content .appearance-section>h3{margin-bottom:10px!important}
  .modal-settings .user-settings-content .theme-choice.four-themes{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:18px!important;
  }
  .modal-settings .user-settings-content .theme-card{padding:9px!important;gap:7px!important;min-width:0!important}
  .modal-settings .user-settings-content .theme-preview{height:70px!important}
  .modal-settings .user-settings-content .theme-card strong{font-size:13px!important;line-height:1.25!important}
  .modal-settings .user-settings-content .theme-card small{font-size:11px!important;line-height:1.35!important}
  .modal-settings .user-settings-content .density-choice{grid-template-columns:1fr!important;gap:8px!important}
  .modal-settings .user-settings-content .density-card{min-height:64px!important;padding:12px 13px!important}
  .modal-settings .user-settings-content .sidebar-width-setting{padding:14px!important;border-radius:14px!important;background:var(--settings-card-bg)!important;border:1px solid var(--settings-border)!important}

  /* Profile preview stays useful without stretching wider than the form. */
  .modal-settings .user-settings-content .profile-preview-column{min-width:0!important}
  .modal-settings .user-settings-content .profile-preview-card{width:100%!important;max-width:360px!important;margin-inline:auto!important}
  .modal-settings .user-settings-content .profile-media-card{border-radius:14px!important}

  /* Language should not inherit Administration form classes or flex-card
     assumptions; it is one simple mobile preference. */
  .modal-settings .user-settings-content .language-settings-card{
    display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:14px!important;
  }
  .modal-settings .user-settings-content .language-settings-card h3{margin:0!important}
  .modal-settings .user-settings-content .language-settings-card>div{display:grid!important;gap:4px!important}
  .modal-settings .user-settings-content .language-settings-card>label{display:grid!important;gap:7px!important;font-size:12px!important;font-weight:700!important}

  /* Unsaved changes remain reachable above the physical home indicator without
     leaving a permanent bottom-navigation sized blank area in the page. */
  .modal-settings .user-settings-content>.settings-unsaved-bar{
    bottom:max(8px,var(--mobile-safe-bottom,0px))!important;
    margin-top:20px!important;
    border-radius:12px!important;
  }
}

@media (max-width:390px){
  .modal-settings .user-settings-content .theme-choice.four-themes{grid-template-columns:1fr!important}
  .modal-settings .user-settings-content :is(.account-security-card,.account-cookie-card,.account-logout-card){grid-template-columns:1fr!important;align-items:stretch!important}
  .modal-settings .user-settings-content :is(.account-security-card,.account-cookie-card,.account-logout-card)>button{width:100%!important}
  .modal-settings .user-settings-content .account-detail-row{grid-template-columns:minmax(0,1fr) auto!important}
  .modal-settings .user-settings-content .voice-settings-actions{grid-template-columns:1fr!important}
  .modal-settings .user-settings-content .voice-settings-card-head{display:grid!important;grid-template-columns:1fr!important}
  .modal-settings .user-settings-content .voice-settings-card-head>button{width:100%!important}
}

@media (orientation:landscape) and (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-settings .user-settings-shell .settings-nav{
    min-height:50px!important;
    padding-top:max(4px,var(--mobile-safe-top,0px))!important;
    padding-bottom:4px!important;
  }
  .modal-settings .user-settings-shell .settings-nav button{height:42px!important;min-height:42px!important;padding-block:7px!important}
  .modal-settings .user-settings-content{padding-top:12px!important;padding-bottom:max(18px,calc(var(--mobile-safe-bottom,0px) + 12px))!important}
  .modal-settings .user-settings-content>.settings-page-head{margin-bottom:12px!important}
  .modal-settings .user-settings-content .theme-choice.four-themes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .modal-settings .user-settings-content .theme-preview{height:54px!important}
  .modal-settings .user-settings-content .voice-settings-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* v1.7.2.13 — Administration mobile check-up: coherent navigation, touch targets, safe areas, and dense-data resilience. */
@media (max-width:700px), (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-administration .admin-discord-shell{
    grid-template-rows:auto minmax(0,1fr)!important;
    min-height:0!important;
  }
  .modal-administration .admin-discord-sidebar{
    padding:0!important;
    border-bottom:1px solid var(--admin-divider)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
  }
  .modal-administration .admin-sidebar-inner{
    gap:9px!important;
    padding:
      max(10px,var(--mobile-safe-top,env(safe-area-inset-top)))
      max(58px,calc(var(--mobile-safe-right,env(safe-area-inset-right)) + 50px))
      11px
      max(12px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
  }
  .modal-administration .admin-sidebar-top{
    min-height:40px!important;
    align-items:center!important;
  }
  .modal-administration .admin-sidebar-head{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .modal-administration .admin-sidebar-mark{
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
  }
  .modal-administration .admin-sidebar-head strong{
    font-size:14px!important;
    line-height:18px!important;
  }
  .modal-administration .admin-sidebar-head small{
    font-size:11px!important;
    line-height:15px!important;
  }
  .modal-administration .admin-section-select-wrap{
    gap:5px!important;
    font-size:10px!important;
    letter-spacing:.04em!important;
  }
  .modal-administration .admin-section-select{
    min-height:44px!important;
    padding:9px 34px 9px 11px!important;
    border:1px solid var(--admin-divider)!important;
    border-radius:8px!important;
    background:var(--admin-control-bg)!important;
    font-size:16px!important;
    line-height:22px!important;
  }
  .modal-administration .admin-workspace-search{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:4px!important;
    margin:0!important;
    padding:0!important;
  }
  .modal-administration .admin-settings-search.field{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:9px 38px 9px 11px!important;
    border:1px solid var(--admin-divider)!important;
    border-radius:8px!important;
    background:var(--admin-control-bg)!important;
    font-size:16px!important;
  }
  .modal-administration .admin-workspace-search-icon{
    right:11px!important;
  }
  .modal-administration .admin-settings-search-state{
    display:block!important;
    min-height:0!important;
    margin:0 2px!important;
    font-size:10px!important;
    line-height:14px!important;
  }
  .modal-administration .admin-settings-search-state:empty{display:none!important}
  .modal-administration .admin-section-nav{display:none!important}
  .modal-administration .admin-searching .admin-section-select-wrap{display:none!important}
  .modal-administration .admin-searching .admin-section-nav{
    display:grid!important;
    gap:8px!important;
    max-height:min(38dvh,310px)!important;
    padding:3px!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    border:1px solid var(--admin-divider)!important;
    border-radius:8px!important;
    background:var(--admin-control-bg)!important;
  }
  .modal-administration .admin-searching .admin-nav-group{
    display:grid!important;
    gap:2px!important;
    margin:0!important;
  }
  .modal-administration .admin-searching .admin-nav-group-label{
    display:block!important;
    padding:6px 8px 3px!important;
    font-size:9px!important;
  }
  .modal-administration .admin-searching .admin-section-nav button{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    min-height:44px!important;
    padding:7px 8px!important;
    border-radius:7px!important;
    font-size:13px!important;
  }
  .modal-administration .admin-searching .admin-nav-icon{
    width:30px!important;
    height:30px!important;
  }
  .modal-administration .admin-discord-content{
    box-sizing:border-box!important;
    padding:
      14px
      max(12px,var(--mobile-safe-right,env(safe-area-inset-right)))
      max(14px,var(--mobile-safe-bottom,env(safe-area-inset-bottom)))
      max(12px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
  }
  .modal-administration .admin-discord-content-region{
    width:100%!important;
    max-width:860px!important;
    height:100%!important;
    margin:0 auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:auto!important;
    scroll-padding-bottom:84px!important;
  }
  .modal-administration .admin-discord-content-inner{
    width:100%!important;
    max-width:740px!important;
    margin:0 auto!important;
    padding:0 0 max(78px,calc(62px + var(--mobile-safe-bottom,env(safe-area-inset-bottom))))!important;
  }
  .modal-administration .admin-discord-section-head{
    gap:10px!important;
    margin:0 0 16px!important;
    padding:2px 0 14px!important;
    border-bottom:1px solid var(--admin-divider)!important;
  }
  .modal-administration .admin-discord-eyebrow{
    font-size:10px!important;
    line-height:14px!important;
  }
  .modal-administration .admin-discord-title-row{
    gap:9px!important;
    align-items:center!important;
  }
  .modal-administration .admin-discord-title-icon{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
  }
  .modal-administration .admin-discord-title{
    min-width:0!important;
    font-size:20px!important;
    line-height:25px!important;
    overflow-wrap:anywhere!important;
  }
  .modal-administration .admin-discord-description{
    max-width:62ch!important;
    font-size:12px!important;
    line-height:18px!important;
  }
  .modal-administration .admin-workspace-card{
    min-width:0!important;
    overflow:visible!important;
  }
  .modal-administration .admin-workspace-card :is(label,div,article){min-width:0}
  .modal-administration .admin-workspace-card label:not(.app-switch-row)>small,
  .modal-administration .admin-workspace-card .settings-help{
    font-size:11.5px!important;
    line-height:17px!important;
    overflow-wrap:anywhere!important;
  }
  .modal-administration .admin-workspace-card .field{
    width:100%!important;
    max-width:100%!important;
    min-height:44px!important;
    font-size:16px!important;
  }
  .modal-administration .admin-workspace-card textarea.field{
    min-height:96px!important;
    resize:vertical!important;
  }
  .modal-administration .admin-workspace-card code,
  .modal-administration .admin-update-backup-info,
  .modal-administration .admin-database-backup-info{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .modal-administration .admin-number-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .modal-administration .admin-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .modal-administration .admin-overview-grid article{
    min-height:98px!important;
    padding:13px!important;
  }
  .modal-administration .admin-overview-actions,
  .modal-administration .admin-update-actions,
  .modal-administration .admin-update-zip-actions,
  .modal-administration .admin-database-backup-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:8px!important;
  }
  .modal-administration :is(.admin-overview-actions,.admin-update-actions,.admin-update-zip-actions,.admin-database-backup-toolbar)>:is(button,a){
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
    white-space:normal!important;
  }
  .modal-administration .admin-client-refresh-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  .modal-administration .admin-client-refresh-card>button{
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
  }
  .modal-administration .admin-versioning-levels{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .modal-administration .admin-update-package,
  .modal-administration .admin-update-backups,
  .modal-administration .admin-update-zip-stage,
  .modal-administration .admin-operation-live,
  .modal-administration .admin-web-push-summary{
    padding:12px!important;
    border-radius:9px!important;
  }
  .modal-administration .admin-update-package-head,
  .modal-administration .admin-realtime-stream-title{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .modal-administration .admin-update-package-badge{align-self:flex-start!important}
  .modal-administration .admin-operation-meta{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .modal-administration .admin-operation-meta span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  .modal-administration .admin-operation-history{
    padding-bottom:3px!important;
    scroll-snap-type:x proximity!important;
  }
  .modal-administration .admin-operation-history span{scroll-snap-align:start!important}
  .modal-administration .admin-realtime-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .modal-administration .admin-realtime-metric{
    min-height:88px!important;
    padding:12px!important;
  }
  .modal-administration .admin-realtime-stream-values{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .modal-administration .admin-realtime-stream-values span{
    align-items:flex-start!important;
    min-width:0!important;
    padding:7px!important;
    border-radius:6px!important;
    background:var(--admin-control-bg)!important;
  }
  .modal-administration .admin-realtime-stream-values b{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .modal-administration .admin-web-push-check-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .modal-administration .admin-web-push-actions{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  .modal-administration .admin-web-push-actions button{
    width:100%!important;
    min-height:44px!important;
  }
  .modal-administration .admin-feature-search{
    width:100%!important;
    max-width:none!important;
  }
  .modal-administration .admin-user-feature-list{
    max-height:none!important;
    padding-right:0!important;
  }
  .modal-administration .admin-user-feature-row{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:9px!important;
  }
  .modal-administration .admin-user-feature-row>.avatar{
    width:40px!important;
    height:40px!important;
  }
  .modal-administration .server-admin-toggle{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:58px!important;
    margin-top:2px!important;
    padding:10px!important;
    border-radius:8px!important;
    background:var(--admin-control-bg)!important;
  }
  .modal-administration .admin-user-account-actions{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  .modal-administration .admin-user-account-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    margin:0!important;
  }
  .modal-administration .server-admin-entitlements{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px!important;
  }
  .modal-administration .server-admin-entitlements span{
    white-space:normal!important;
  }
  .modal-administration .admin-update-backup-row,
  .modal-administration .admin-database-backup-row{
    grid-template-columns:minmax(0,1fr)!important;
    padding:12px!important;
  }
  .modal-administration .admin-database-backup-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .modal-administration .admin-database-backup-actions>:is(button,a){
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:normal!important;
  }
  .modal-administration .seek-ai-admin-model-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .modal-administration .seek-ai-admin-model-row>button{
    width:100%!important;
    min-height:44px!important;
  }
  .modal-administration .administration-settings-content>.settings-unsaved-bar{
    left:50%!important;
    right:auto!important;
    bottom:max(8px,var(--mobile-safe-bottom,env(safe-area-inset-bottom)))!important;
    translate:-50% 0!important;
    width:min(720px,calc(100% - max(16px,calc(var(--mobile-safe-left,0px) + var(--mobile-safe-right,0px) + 16px))))!important;
    max-width:calc(100% - 16px)!important;
    min-height:52px!important;
    margin:0!important;
  }
}

@media (max-width:370px){
  .modal-administration .admin-sidebar-inner{
    padding-left:max(9px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
    padding-right:max(54px,calc(var(--mobile-safe-right,env(safe-area-inset-right)) + 48px))!important;
  }
  .modal-administration .admin-number-grid,
  .modal-administration .admin-overview-grid,
  .modal-administration .admin-versioning-levels,
  .modal-administration .admin-realtime-metrics,
  .modal-administration .admin-operation-meta,
  .modal-administration .admin-database-backup-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .modal-administration .admin-discord-content{
    padding-left:max(9px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
    padding-right:max(9px,var(--mobile-safe-right,env(safe-area-inset-right)))!important;
  }
  .modal-administration .admin-user-feature-row{padding:10px!important}
}

@media (min-width:560px) and (max-width:700px){
  .modal-administration .admin-web-push-check-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .modal-administration .admin-database-backup-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (orientation:landscape) and (max-height:500px) and (max-width:950px) and (pointer:coarse){
  .modal-administration .admin-sidebar-inner{
    grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr)!important;
    align-items:end!important;
    column-gap:10px!important;
    padding-top:max(7px,var(--mobile-safe-top,env(safe-area-inset-top)))!important;
    padding-bottom:7px!important;
    padding-left:max(12px,var(--mobile-safe-left,env(safe-area-inset-left)))!important;
    padding-right:max(58px,calc(var(--mobile-safe-right,env(safe-area-inset-right)) + 50px))!important;
  }
  .modal-administration .admin-sidebar-top{grid-column:1!important}
  .modal-administration .admin-section-select-wrap{grid-column:2!important}
  .modal-administration .admin-workspace-search{grid-column:1/-1!important}
  .modal-administration .admin-searching .admin-section-nav{grid-column:1/-1!important;max-height:150px!important}
  .modal-administration .admin-searching .admin-section-select-wrap{display:none!important}
  .modal-administration .admin-discord-content{
    padding-top:9px!important;
    padding-bottom:max(8px,var(--mobile-safe-bottom,env(safe-area-inset-bottom)))!important;
  }
  .modal-administration .admin-discord-section-head{
    margin-bottom:12px!important;
    padding-bottom:10px!important;
  }
  .modal-administration .admin-discord-description{line-height:16px!important}
}

@media (max-width: 767px){
 .minecraft-lite-active .dm-game-panel-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .minecraft-lite-active .minecraft-console,.minecraft-lite-active .minecraft-inventory-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .minecraft-lite-active .minecraft-console-wrap form input{font-size:16px}
}


/* Minecraft Lite needs more embedded workspace than board-style games while
   still preserving the active conversation below it on phones. */
@media(max-width:700px){
 .main.dm-game-open.minecraft-lite-open{grid-template-rows:minmax(280px,68%) minmax(0,1fr) auto!important}
 .dm-game-panel.minecraft-lite-active .dm-game-panel-scroll{overflow-x:hidden}
 .dm-game-panel.minecraft-lite-active .minecraft-game{padding:8px;gap:8px}
 .dm-game-panel.minecraft-lite-active .minecraft-dashboard,
 .dm-game-panel.minecraft-lite-active .minecraft-workbench{gap:8px}
 .dm-game-panel.minecraft-lite-active .minecraft-map{width:min(100%,360px);max-width:360px}
 .dm-game-panel.minecraft-lite-active .minecraft-hud{margin-top:8px}
 .dm-game-panel.minecraft-lite-active .minecraft-console-wrap{min-height:270px}
 .dm-game-panel.minecraft-lite-active .minecraft-console{height:170px}
 :root.mobile-keyboard-open .main.dm-game-open.minecraft-lite-open{grid-template-rows:minmax(210px,64%) minmax(0,1fr) auto!important}
 :root.mobile-keyboard-open .dm-game-panel.minecraft-lite-active .minecraft-console{height:145px}
}
@media(max-width:390px){
 .main.dm-game-open.minecraft-lite-open{grid-template-rows:minmax(255px,66%) minmax(0,1fr) auto!important}
 .dm-game-panel.minecraft-lite-active .minecraft-map{max-width:320px}
}

/* v1.9.0.77 — keep the expanded pre-auth language menu usable without crowding the mobile brand lockup. */
@media(max-width:760px){
 .auth-language-switcher{
   position:relative;
   top:auto;
   right:auto;
   z-index:5;
   display:block;
   width:max-content;
   max-width:100%;
   margin:0 0 0 auto;
 }
 .auth-language-trigger{min-height:38px;padding:0 10px;border-radius:11px;background:#1e1f22;border-color:#3f4147;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
 .auth-language-menu{position:absolute;right:0;width:min(224px,calc(100vw - 32px));max-height:min(360px,calc(100dvh - 170px));overflow-y:auto;z-index:10}
 .auth-language-current{min-width:58px}
 .auth-card.auth-card-discord,.auth-card.auth-card-discord.has-qr,.auth-card.auth-register-card,.auth-card.auth-approval-entry,.auth-card.auth-two-factor-card{margin-top:14px}
}
@media(max-width:390px){
 .auth-language-current{display:none}
 .auth-language-trigger{gap:6px;padding-inline:9px}
}
