/* Loaded last on workspace pages. Desktop layouts belong to their page styles. */
.mobile-settings-picker { display:none; }
@media (min-width:781px) { .workspace-links a[href="/chats.html"] { display:none; } }
@media (max-width:780px) {
  body.memora-ui.workspace-page {
    --workspace-mobile-nav-height:calc(64px + env(safe-area-inset-bottom));
    --mobile-topbar-height:calc(64px + env(safe-area-inset-top));
    --mobile-gap:16px;
    padding:0 0 var(--workspace-mobile-nav-height) !important;
    min-width:320px;
    font-family:var(--ds-font);
  }
  body.memora-ui.workspace-page :is(button,a,input,textarea,select) { -webkit-tap-highlight-color:transparent; }
  body.memora-ui.workspace-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select) { font-size:16px !important; }
  body.memora-ui.workspace-page :is(input[type=checkbox],input[type=radio]) { min-width:20px; min-height:20px; }
  body.memora-ui.workspace-page :is(.primary-button,.secondary-button,.primary,.secondary,.ui-primary,.ui-secondary) { min-height:44px; font-size:14px; }
  body.memora-ui.workspace-page > main,
  body.memora-ui.workspace-page :is(.classic-main,.create-main,.chats-main,.group-main,.personas-main,.settings-main,.character-main) {
    width:calc(100% - 32px) !important;
    min-width:0;
    padding-top:16px !important;
  }
  body.memora-ui.workspace-page :is(h1,h2,h3,p) { overflow-wrap:anywhere; letter-spacing:0; }
  body.memora-ui.workspace-page :is(.page-header h1,.groups-heading h1,.settings-title h1,.personas-intro h1,.create-intro h1,.classic-intro h1) { font-size:24px !important; line-height:1.25; }
  body.memora-ui.workspace-page .workspace-topbar {
    height:var(--mobile-topbar-height);
    padding:env(safe-area-inset-top) 12px 0;
    gap:8px;
    border:0;
    background:#18181bf2;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    z-index:40;
  }
  body.memora-ui.workspace-page .workspace-topbar > .workspace-icon:first-child,
  body.memora-ui.workspace-page .workspace-topbar > a.workspace-icon:last-child { display:inline-grid !important; }
  body.memora-ui.workspace-page .workspace-icon { width:44px; height:44px; flex-basis:44px; color:var(--ds-secondary); }
  body.memora-ui.workspace-page .workspace-mobile-brand { font-size:21px; margin-right:auto; white-space:nowrap; }
  body.memora-ui.workspace-page .workspace-mobile-nav {
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:4px 8px max(4px,env(safe-area-inset-bottom));
    background:#18181bf2;
    border-top:1px solid #ffffff0d;
    box-shadow:none;
    z-index:80;
  }
  body.memora-ui.workspace-page .workspace-mobile-nav-item { gap:3px; min-height:52px; font-size:11px; font-weight:500; border-radius:0; }
  body.memora-ui.workspace-page .workspace-mobile-nav-item:is(:hover,[aria-current=page]) { background:transparent; color:var(--ds-text); }
  body.memora-ui.workspace-page .workspace-mobile-nav-icon { width:42px; height:28px; border-radius:999px; }
  body.memora-ui.workspace-page .workspace-mobile-nav-icon svg { width:21px; height:21px; }
  body.memora-ui.workspace-page .workspace-mobile-nav-item[aria-current] .workspace-mobile-nav-icon { background:var(--ds-raised); }

  /* The drawer retains recent chats, personas, creation, settings and admin access. */
  body.memora-ui.workspace-page .workspace-sidebar {
    display:flex !important;
    width:min(300px,calc(100% - 56px));
    z-index:220;
    padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
    background:var(--ds-bg);
    transform:translateX(-100%);
    visibility:hidden;
    transition:transform 240ms cubic-bezier(.22,1,.36,1),visibility 240ms;
  }
  body.memora-ui.workspace-page.workspace-nav-open { overflow:hidden !important; }
  body.memora-ui.workspace-page.workspace-nav-open .workspace-sidebar { transform:translateX(0); visibility:visible; }
  body.memora-ui.workspace-page .workspace-scrim:not([hidden]) { display:block !important; position:fixed; inset:0; width:100%; height:100%; z-index:210; border:0; border-radius:0 !important; background:#0009; animation:mobile-scrim-in 200ms ease-out; }
  body.memora-ui.workspace-page .workspace-brand-row { flex-direction:row; margin-bottom:20px; }
  body.memora-ui.workspace-page .workspace-brand span { display:inline; }
  body.memora-ui.workspace-page .workspace-brand b { display:none; }
  body.memora-ui.workspace-page .workspace-brand { font-size:24px; }
  body.memora-ui.workspace-page :is(.workspace-create,.workspace-links a) { justify-content:flex-start; min-height:48px; padding:0 12px; border-radius:8px; font-size:14px; }
  body.memora-ui.workspace-page .workspace-create span,
  body.memora-ui.workspace-page .workspace-links span,
  body.memora-ui.workspace-page .workspace-profile > span:last-child { display:block; }
  body.memora-ui.workspace-page .workspace-create { background:var(--ds-text); color:var(--ds-bg); border:0; }
  body.memora-ui.workspace-page .workspace-links { margin-top:14px; gap:2px; }
  body.memora-ui.workspace-page .workspace-history { display:flex; margin-top:20px; }
  body.memora-ui.workspace-page .workspace-history-search { height:44px; border-radius:999px; padding:0 14px; background:var(--ds-surface); }
  body.memora-ui.workspace-page .workspace-history-heading { margin-top:16px; font-size:12px; }
  body.memora-ui.workspace-page .workspace-history-heading a { width:44px; height:32px; }
  body.memora-ui.workspace-page .workspace-recent-item { height:58px; gap:12px; }
  body.memora-ui.workspace-page .workspace-recent-avatar { width:38px; height:38px; flex-basis:38px; }
  body.memora-ui.workspace-page .workspace-recent-item strong { font-size:14px; }
  body.memora-ui.workspace-page .workspace-recent-item small { font-size:12px; }
  body.memora-ui.workspace-page .workspace-account { flex-direction:row; margin-top:12px; padding-top:12px; }
  body.memora-ui.workspace-page .workspace-profile strong { font-size:14px; }

  body.home-page.memora-ui.workspace-catalog .workspace-mobile-brand { display:none; }
  body.home-page.memora-ui.workspace-catalog .workspace-topbar .search-field { flex:1; min-width:0; height:44px; min-height:44px; padding:0 12px; background:var(--ds-surface); border:0; border-radius:999px; }
  body.home-page.memora-ui.workspace-catalog .workspace-topbar .search-field > svg { width:18px; flex-shrink:0; }
  body.home-page.memora-ui.workspace-catalog .workspace-topbar .search-field input { width:100%; font-size:14px !important; }
  body.home-page.memora-ui.workspace-catalog .workspace-topbar #clearStorySearch { width:44px; min-width:44px; margin-right:-10px; }
  body.home-page.memora-ui.workspace-catalog .welcome-band { display:block; padding:0 0 12px; }
  body.home-page.memora-ui.workspace-catalog .welcome-band h1 { font-size:20px !important; margin:0; }
  body.home-page.memora-ui.workspace-catalog .promo-carousel { margin:0 0 22px; border-radius:8px; }
  body.home-page.memora-ui.workspace-catalog .promo-stage { height:274px; }
  body.home-page.memora-ui.workspace-catalog .promo-copy { width:100%; padding:36px 22px 16px; }
  body.home-page.memora-ui.workspace-catalog .promo-copy h2 { font-size:27px !important; line-height:1.12 !important; margin:8px 0 10px; max-width:275px; letter-spacing:0; }
  body.home-page.memora-ui.workspace-catalog .promo-copy p { font-size:12px; line-height:1.5; max-width:265px; }
  body.home-page.memora-ui.workspace-catalog .promo-eyebrow { font-size:8px; letter-spacing:0; }
  body.home-page.memora-ui.workspace-catalog .promo-cta { margin-top:14px; font-size:12px; }
  body.home-page.memora-ui.workspace-catalog .promo-art { width:350px; height:300px; top:66px; right:-5px; transform:scale(.6); transform-origin:right top; opacity:.22; }
  body.home-page.memora-ui.workspace-catalog .promo-navigation button { top:auto; bottom:10px; width:44px; height:44px; }
  body.home-page.memora-ui.workspace-catalog #promoPrevious { left:auto; right:58px; }
  body.home-page.memora-ui.workspace-catalog #promoNext { right:10px; }
  body.home-page.memora-ui.workspace-catalog .discovery-shelves { gap:24px; }
  body.home-page.memora-ui.workspace-catalog .shelf-heading { margin-bottom:8px; }
  body.home-page.memora-ui.workspace-catalog .shelf-heading h2 { font-size:18px; }
  body.home-page.memora-ui.workspace-catalog .shelf-heading h2 a { min-height:44px; }
  body.home-page.memora-ui.workspace-catalog .shelf-controls { display:none; }
  body.home-page.memora-ui.workspace-catalog .discovery-shelf-rail { grid-auto-columns:min(300px,calc(100% - 28px)); gap:12px; padding:0 0 4px; scroll-padding-left:0; }
  body.home-page.memora-ui.workspace-catalog .story-card,
  body.home-page.memora-ui.workspace-catalog #storyGrid .story-card { grid-template-columns:80px minmax(0,1fr); gap:12px; min-height:150px; padding:12px; border-radius:8px; }
  body.home-page.memora-ui.workspace-catalog .story-poster,
  body.home-page.memora-ui.workspace-catalog #storyGrid .story-poster { width:80px; height:126px; min-height:126px; border-radius:6px; }
  body.home-page.memora-ui.workspace-catalog .story-card-content h3 { font-size:15px !important; }
  body.home-page.memora-ui.workspace-catalog .story-description { font-size:12px; line-height:1.5; }
  body.home-page.memora-ui.workspace-catalog .filter-row { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:6px; }
  body.home-page.memora-ui.workspace-catalog .filter-row button { flex:0 0 auto; }
  body.home-page.memora-ui.workspace-catalog .creator-showcase { border-radius:0; padding:24px 0; }

  body.memora-ui.workspace-page .chats-main .page-header { min-height:0; padding:0 0 16px; gap:12px; align-items:stretch; }
  body.memora-ui.workspace-page .chats-main .page-header h1 { margin:0; }
  body.memora-ui.workspace-page .chats-main .header-actions { display:flex; gap:8px; }
  body.memora-ui.workspace-page .chats-main .header-actions a { flex:1; padding-inline:12px; font-size:13px; }
  body.memora-ui.workspace-page .chats-main .chat-toolbar { gap:12px; padding:0; margin-top:0; }
  body.memora-ui.workspace-page .chats-main .recent-section { padding-top:20px; }
  body.memora-ui.workspace-page .chats-main .chat-row { grid-template-columns:48px minmax(0,1fr) 44px; min-height:92px; gap:12px; padding:12px 0; border-bottom:1px solid #ffffff0a; border-radius:0; background:transparent; }
  body.memora-ui.workspace-page .chats-main .chat-avatar { width:48px; height:48px; border-radius:50%; }
  body.memora-ui.workspace-page .chats-main .chat-copy h3 { font-size:15px; line-height:1.4; margin:0 0 4px; }
  body.memora-ui.workspace-page .chats-main .chat-copy p { font-size:13px; line-height:1.5; }
  body.memora-ui.workspace-page .chats-main .chat-copy time { font-size:11px; margin-top:4px; }
  body.memora-ui.workspace-page .chats-main .chat-kind { display:none; }
  body.memora-ui.workspace-page .chats-main .chat-actions-menu > summary { background:transparent; }

  body.memora-ui.character-profile .character-layout { gap:24px; }
  body.memora-ui.character-profile .character-hero { display:flex; flex-direction:column; align-items:center; gap:16px; }
  body.memora-ui.character-profile .character-visual { width:112px; height:112px; flex:0 0 112px; border-radius:50% !important; }
  body.memora-ui.character-profile .character-copy { width:100%; align-items:center; text-align:center; gap:8px; }
  body.memora-ui.character-profile .character-name-row { flex-wrap:wrap; justify-content:center; gap:8px; }
  body.memora-ui.character-profile .character-name-row h1 { width:100%; margin:0; font-size:24px !important; }
  body.memora-ui.character-profile .character-copy .eyebrow { display:none; }
  body.memora-ui.character-profile .author-link { justify-content:center; }
  body.memora-ui.character-profile .character-role { margin:0; }
  body.memora-ui.character-profile .character-entry { width:100%; }
  body.memora-ui.character-profile .character-chat-actions { display:flex; gap:8px; }
  body.memora-ui.character-profile .character-chat-actions > * { flex:1; min-width:0; }
  body.memora-ui.character-profile .character-about { margin-top:4px; }
  body.memora-ui.character-profile .character-section { padding:20px 0; border-radius:0; border-top:1px solid var(--ds-line); }
  body.memora-ui.character-profile .comments-list { min-height:168px; }
  body.memora-ui.character-profile .comment-form { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  body.memora-ui.character-profile .comment-form textarea { grid-column:1 / -1; }
  body.memora-ui.character-profile .comment-form small { grid-column:1; }
  body.memora-ui.character-profile .comment-form .primary-button { grid-column:2; }

  body.memora-ui.page-group-builder .groups-heading { margin:0 0 16px; }
  body.memora-ui.page-group-builder .group-catalog .character-results { grid-template-columns:1fr; gap:4px; }
  body.memora-ui.page-group-builder .group-catalog .character-result { grid-template-columns:40px minmax(0,1fr) 40px; min-height:64px; padding:8px; gap:12px; border-radius:8px !important; }
  body.memora-ui.page-group-builder .group-layout { display:flex; flex-direction:column; gap:16px; }
  body.memora-ui.page-group-builder .group-composer { display:contents; }
  body.memora-ui.page-group-builder .group-title { order:0; width:100%; }
  body.memora-ui.page-group-builder .group-catalog { order:1; width:100%; }
  body.memora-ui.page-group-builder .group-setup { order:2; width:100%; }
  body.memora-ui.page-group-builder .group-catalog .result-avatar { width:40px; height:40px; }
  body.memora-ui.page-group-builder .group-catalog .result-copy strong { font-size:14px; }
  body.memora-ui.page-group-builder .group-catalog .result-copy small { display:block; font-size:12px; }
  body.memora-ui.page-group-builder .group-catalog .result-add { width:40px; height:40px; }
  body.memora-ui.page-group-builder .group-setup .selected-actions button { width:44px; height:44px; min-width:44px; min-height:44px; }
  body.memora-ui.page-group-builder .group-setup .rolebook-panel { border-radius:8px !important; }
  body.memora-ui.page-group-builder .group-setup .group-launch { padding-bottom:10px; box-shadow:none; border-top:1px solid var(--ds-line); }
  body.memora-ui.page-group-builder .group-main { padding-bottom:170px; }

  body.memora-ui.workspace-page .settings-main .settings-layout { display:block; }
  body.memora-ui.workspace-page .settings-main .settings-nav { display:flex; overflow-x:auto; gap:8px; scrollbar-width:none; padding-bottom:4px; }
  body.memora-ui.workspace-page .settings-main .settings-nav button { flex:0 0 auto; }
  body.memora-ui.workspace-page .settings-main .settings-nav-shell { display:none; }
  body.memora-ui.workspace-page .mobile-settings-picker { display:grid; gap:6px; margin-bottom:24px; color:var(--ds-muted); font-size:12px; }
  body.memora-ui.workspace-page .mobile-settings-picker select { width:100%; min-height:48px; padding:10px 16px; border:0; border-radius:8px !important; background:var(--ds-surface); color:var(--ds-text); }
  body.memora-ui.workspace-page .settings-main .settings-nav-scroll { display:none; }
  body.memora-ui.workspace-page .settings-main .profile-public-card { padding:16px 0; background:transparent; border-radius:0; }
  body.memora-ui.workspace-page .settings-main .settings-title .character-back { display:none; }
  body.memora-ui.workspace-page .settings-main .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.memora-ui.workspace-page .settings-main .stats-grid > div { border-radius:8px !important; }
  body.memora-ui.workspace-page .personas-intro { padding:0 0 20px; gap:16px; }
  body.memora-ui.workspace-page .personas-intro h1 { margin-top:0; }
  body.memora-ui.workspace-page .persona-grid { grid-template-columns:1fr; gap:12px; }
  body.memora-ui.workspace-page .persona-card { border-radius:8px !important; }
  body.memora-ui.workspace-page .creation-options { display:grid; grid-template-columns:1fr; gap:12px; }
  body.memora-ui.workspace-page .creation-card { min-height:0; padding:20px; border-radius:8px !important; }
  body.memora-ui.workspace-page .creation-card h2 { font-size:20px !important; }
  body.memora-ui.workspace-page .create-intro { margin:0 0 16px; }
  body.memora-ui.workspace-page .classic-form { padding:0; background:transparent; border:0; border-radius:0; }
  body.memora-ui.workspace-page .classic-actions { gap:8px; }
  body.memora-ui.workspace-page .studio-main { height:calc(100dvh - var(--mobile-topbar-height) - var(--workspace-mobile-nav-height)); width:100% !important; padding:0 !important; }
  body.memora-ui.workspace-page .studio-layout { min-height:0; }
  body.memora-ui.workspace-page .studio-heading h1 { font-size:18px !important; }
  body.memora-ui.workspace-page .studio-toolbar .ui-icon { border-radius:8px !important; }
  body.memora-ui.workspace-page .studio-composer textarea { min-width:0; }
  body.memora-ui.workspace-page .studio-composer .ui-send { width:44px; height:44px; min-width:44px; }

  body.memora-ui.workspace-chat { padding:0 !important; }
  body.memora-ui.workspace-chat .workspace-mobile-nav { display:none; }
  body.memora-ui.workspace-chat :is(.chat-shell,.group-chat-shell) { height:100dvh !important; }
  body.memora-ui.workspace-chat :is(.chat-main,.group-chat-main) { grid-template-rows:var(--mobile-topbar-height) minmax(0,1fr) auto; width:100%; }
  body.memora-ui.workspace-chat :is(.chat-header,.group-chat-header) { height:var(--mobile-topbar-height); padding:env(safe-area-inset-top) 8px 0; gap:4px; }
  body.memora-ui.workspace-chat #workspaceMenu { display:inline-grid !important; }
  body.memora-ui.workspace-chat .mobile-avatar { width:36px; height:36px; flex-basis:36px; }
  body.memora-ui.workspace-chat .mobile-identity { gap:8px; }
  body.memora-ui.workspace-chat .mobile-identity strong { font-size:15px; }
  body.memora-ui.workspace-chat .messages { padding:20px 12px; overscroll-behavior-y:contain; }
  body.memora-ui.workspace-chat .message { grid-template-columns:26px minmax(0,1fr); gap:8px; margin-bottom:22px; }
  body.memora-ui.workspace-chat .message.user { grid-template-columns:minmax(0,1fr) 26px; }
  body.memora-ui.workspace-chat .message-avatar { width:26px; height:26px; }
  body.memora-ui.workspace-chat .message-text { font-size:var(--chat-font-size,16px); line-height:1.65; }
  body.memora-ui.workspace-chat .message-text p { margin-block:0 10px; }
  body.memora-ui.workspace-chat .message-menu > summary { width:44px; height:44px; }
  body.memora-ui.workspace-chat .message-menu .message-actions button { min-height:44px; font-size:14px; }
  body.memora-ui.workspace-chat .composer-wrap { padding:8px 12px max(12px,env(safe-area-inset-bottom)); }
  body.memora-ui.workspace-chat .composer { min-height:54px; padding:5px; border-radius:28px !important; gap:4px; }
  body.memora-ui.workspace-chat .composer textarea { padding:10px; min-width:0; line-height:1.5; max-height:132px; }
  body.memora-ui.workspace-chat .composer button { width:44px; height:44px; min-width:44px; flex:0 0 44px; }
  body.memora-ui.workspace-chat .composer #sendButton { background:var(--ds-text); color:var(--ds-bg); }
  body.memora-ui.workspace-chat .workspace-details { width:min(320px,calc(100% - 40px)); max-width:100%; border-radius:0 !important; }
  body.memora-ui.workspace-chat .workspace-details :is(.character-rail,.group-rail) { padding:20px; }
  body.memora-ui.workspace-chat .workspace-details .rail-character h1 { font-size:22px; }
  body.memora-ui.workspace-chat .workspace-details .ui-row { min-height:52px; padding-inline:8px; font-size:15px; }
  body.memora-ui.workspace-chat .workspace-details:has(.chat-settings-list:not([hidden])) { width:100%; }
  body.memora-ui.workspace-page :is(#voiceDialog,#appearanceDialog,#personaDialog) {
    inset:0; margin:0; width:100%; max-width:100%; height:100dvh; max-height:100dvh;
    padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); border-radius:0 !important;
  }
  body.memora-ui.workspace-page .ui-dialog-head { padding:12px 16px; }
  body.memora-ui.workspace-page .ui-dialog h2 { font-size:20px; }
  body.memora-ui.workspace-page :is(.ui-icon,.voice-preview,.voice-select,.dialog-close) { min-width:44px; min-height:44px; }
  body.memora-ui.workspace-page .voice-search { padding:16px; gap:8px; }
  body.memora-ui.workspace-page .voice-tabs button { min-height:44px; }
  body.memora-ui.workspace-page .toast { max-width:calc(100% - 32px); bottom:calc(var(--workspace-mobile-nav-height) + 16px); }
}
@keyframes mobile-scrim-in { from { opacity:0; } to { opacity:1; } }
@media (max-width:360px) {
  body.memora-ui.workspace-page .workspace-mobile-brand { font-size:18px; }
  body.memora-ui.workspace-page .workspace-mobile-brand::after { margin-left:5px; padding:3px 6px; font-size:8px; }
  body.memora-ui.workspace-page .studio-composer textarea { min-height:68px; }
  body.home-page.memora-ui.workspace-catalog .promo-stage { height:298px; }
  body.home-page.memora-ui.workspace-catalog .promo-copy h2 { font-size:24px !important; }
  body.home-page.memora-ui.workspace-catalog .promo-copy { padding-inline:16px; }
  body.home-page.memora-ui.workspace-catalog .promo-copy p { max-width:230px; }
}
@media (prefers-reduced-motion:reduce) {
  body.memora-ui.workspace-page .workspace-sidebar { transition:none; }
  body.memora-ui.workspace-page .workspace-scrim { animation:none !important; }
}
