/* Ghost OS UI v4 shell interactions: command palette, global search, workspace flair. */

:root{
  --ghost-taskbar-expanded:238px;
  --ghost-taskbar-collapsed:78px;
  --ghost-taskbar-width:var(--ghost-taskbar-expanded);
  --ghost-chat-drawer-width:310px;
}
body.ghost-taskbar-collapsed{--ghost-taskbar-width:var(--ghost-taskbar-collapsed)}

/* Persistent taskbar. Orientation chooses the first default, the user chooses thereafter. */
.app{
  grid-template-columns:var(--ghost-taskbar-width) minmax(0,1fr)!important;
  transition:grid-template-columns .2s cubic-bezier(.2,.8,.2,1);
}
.sidebar{
  position:relative!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;
  transform:none!important;transition:width .2s cubic-bezier(.2,.8,.2,1),padding .2s ease!important;
  overflow:hidden!important;
}
.sidebar.open{transform:none!important}
.sidebar .control-nav{display:flex!important;flex-direction:column!important;min-height:0;overflow:auto;scrollbar-width:none}
.sidebar .control-nav::-webkit-scrollbar{display:none}
.sidebar-footer{display:grid!important}

.ghost-home-nav,.ghost-chats-nav,.ghost-mcp-nav{font-size:0!important}
.ghost-home-nav::before{content:"⌂";font-size:1rem;margin-right:9px;color:#79ddff}
.ghost-home-nav::after{content:"Home";font-size:.78rem}
.ghost-chats-nav::before{content:"◌";font-size:1rem;margin-right:9px;color:#78e4ff}
.ghost-chats-nav::after{content:"Chats";font-size:.78rem}
.ghost-mcp-nav::before{content:"⌁";font-size:1.03rem;margin-right:9px;color:#91a9ff}
.ghost-mcp-nav::after{content:"MCP Access";font-size:.78rem}
.ghost-chats-nav.drawer-active{
  color:#f3fbff!important;
  border-color:rgba(var(--accent-rgb),.22)!important;
  background:linear-gradient(90deg,rgba(var(--accent-rgb),.12),rgba(var(--cortex-rgb),.07))!important;
  box-shadow:inset 3px 0 0 #46dcff,0 0 24px rgba(var(--accent-rgb),.06)!important;
}

.ghost-taskbar-toggle{
  order:5;flex:0 0 auto;width:100%;min-height:38px;border:1px solid rgba(var(--accent-rgb),.10);border-radius:11px;
  display:flex;align-items:center;gap:9px;padding:8px 10px;background:rgba(8,25,39,.55);color:#748da5;cursor:pointer;text-align:left;
  transition:.16s ease;
}
.ghost-taskbar-toggle:hover{color:#d9edf7;border-color:rgba(var(--accent-rgb),.24);background:rgba(12,35,53,.78)}
.ghost-taskbar-toggle-icon::before{content:"‹";display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:rgba(var(--accent-rgb),.07);color:#7de5ff;font-size:1rem}
.ghost-taskbar-toggle-label{font-size:.68rem;font-weight:700;white-space:nowrap}
body.ghost-taskbar-collapsed .ghost-taskbar-toggle{width:50px;height:40px;padding:0;margin:0 auto;justify-content:center}
body.ghost-taskbar-collapsed .ghost-taskbar-toggle-icon::before{content:"›"}
body.ghost-taskbar-collapsed .ghost-taskbar-toggle-label{display:none}

body.ghost-taskbar-collapsed .brand{justify-content:center!important;padding:2px!important}
body.ghost-taskbar-collapsed .brand>div:last-child,
body.ghost-taskbar-collapsed .brand::after{display:none!important}
body.ghost-taskbar-collapsed .control-nav-btn,
body.ghost-taskbar-collapsed .memory-manager-btn{
  width:50px!important;height:46px!important;min-height:46px!important;padding:0!important;margin:0 auto!important;
  display:grid!important;place-items:center!important;text-align:center!important;
}
body.ghost-taskbar-collapsed .control-nav-btn::before,
body.ghost-taskbar-collapsed .memory-manager-btn::before,
body.ghost-taskbar-collapsed #nexusOpenBtn::before,
body.ghost-taskbar-collapsed #sentinelOpenBtn::before{margin:0!important;font-size:1rem!important}
body.ghost-taskbar-collapsed .control-nav-btn::after,
body.ghost-taskbar-collapsed .memory-manager-btn::after,
body.ghost-taskbar-collapsed #nexusOpenBtn::after,
body.ghost-taskbar-collapsed #sentinelOpenBtn::after{display:none!important}
body.ghost-taskbar-collapsed .memory-manager-btn #memoryManagerCount{display:none!important}
body.ghost-taskbar-collapsed .sidebar-footer{justify-items:center!important;padding-left:0!important;padding-right:0!important}
body.ghost-taskbar-collapsed .sidebar-footer #statusText,
body.ghost-taskbar-collapsed .sidebar-footer #memoryEngine{display:none!important}
body.ghost-taskbar-collapsed .sidebar-footer .status-row{justify-content:center}

body:not(.ghost-taskbar-collapsed) .brand{justify-content:flex-start!important;padding:4px 6px!important}
body:not(.ghost-taskbar-collapsed) .brand>div:last-child{display:block!important}
body:not(.ghost-taskbar-collapsed) .brand::after{display:block!important}
body:not(.ghost-taskbar-collapsed) .control-nav-btn,
body:not(.ghost-taskbar-collapsed) .memory-manager-btn{
  width:100%!important;height:auto!important;min-height:42px!important;padding:10px 11px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;
}
body:not(.ghost-taskbar-collapsed) .control-nav-btn::after,
body:not(.ghost-taskbar-collapsed) .memory-manager-btn::after,
body:not(.ghost-taskbar-collapsed) #nexusOpenBtn::after,
body:not(.ghost-taskbar-collapsed) #sentinelOpenBtn::after{display:inline!important}
body:not(.ghost-taskbar-collapsed) .control-nav-btn::before,
body:not(.ghost-taskbar-collapsed) .memory-manager-btn::before,
body:not(.ghost-taskbar-collapsed) #nexusOpenBtn::before,
body:not(.ghost-taskbar-collapsed) #sentinelOpenBtn::before{margin-right:9px!important}
body:not(.ghost-taskbar-collapsed) .sidebar-footer #statusText,
body:not(.ghost-taskbar-collapsed) .sidebar-footer #memoryEngine{display:inline!important}

/* Conversation history is an independent full-height drawer, never the taskbar's spare cupboard. */
.ghost-chat-drawer{
  position:absolute;z-index:29;left:var(--ghost-taskbar-width);top:0;bottom:0;width:min(var(--ghost-chat-drawer-width),calc(100vw - var(--ghost-taskbar-width) - 12px));
  min-width:250px;display:flex;flex-direction:column;gap:10px;padding:15px 13px max(15px,env(safe-area-inset-bottom));
  border-right:1px solid rgba(var(--accent-rgb),.14);border-left:1px solid rgba(var(--accent-rgb),.07);
  background:radial-gradient(circle at 48% -8%,rgba(var(--cortex-rgb),.10),transparent 26%),linear-gradient(180deg,rgba(5,17,29,.985),rgba(3,10,18,.995));
  box-shadow:22px 0 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.025);
  transform:translateX(-12px);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .16s ease,visibility 0s linear .2s,left .2s cubic-bezier(.2,.8,.2,1);
}
.ghost-chat-drawer.open,.app.ghost-chat-open .ghost-chat-drawer{
  transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;
}
.ghost-chat-drawer>*{position:relative;z-index:1}
.ghost-chat-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 2px 8px;border-bottom:1px solid rgba(var(--accent-rgb),.08)}
.ghost-chat-drawer-head>div{display:grid;gap:2px}.ghost-chat-drawer-head span{color:#5f809c;font-size:.55rem;font-weight:800;letter-spacing:.16em}.ghost-chat-drawer-head strong{font-size:.98rem;color:#eef9ff}
.ghost-chat-drawer-head button{width:34px;height:34px;border:1px solid rgba(var(--accent-rgb),.12);border-radius:10px;background:rgba(10,29,45,.72);color:#9bb3c8;cursor:pointer;font-size:1.15rem}.ghost-chat-drawer-head button:hover{color:#fff;border-color:rgba(var(--accent-rgb),.28)}
.ghost-chat-filter{height:39px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(var(--accent-rgb),.11);border-radius:11px;background:rgba(3,12,21,.76);color:#6ddfff}
.ghost-chat-filter input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eaf7ff;font-size:.74rem}.ghost-chat-filter input::placeholder{color:#536b82}
.ghost-chat-drawer .new-chat{order:initial!important;width:100%!important;height:auto!important;margin:0!important;padding:10px 12px!important;font-size:.76rem!important;text-align:left!important}
.ghost-chat-drawer .new-chat::before{content:none!important}
.ghost-chat-drawer .history-head{order:initial!important;display:flex!important;flex:0 0 auto;margin:0 2px!important;padding:4px 0 0!important;border-top:0!important}
.ghost-chat-drawer .history{order:initial!important;display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:0 3px 8px 0!important}
.ghost-chat-drawer .history-item[hidden],.ghost-chat-drawer .history-section-divider[hidden]{display:none!important}

.overlay{z-index:28!important}
@media(min-width:1101px){.app.ghost-chat-open .overlay{display:none!important}}

/* Command palette */
.ghost-search-launcher{
  position:relative;flex:0 1 560px;min-width:220px;max-width:560px;height:38px;margin:0 22px;
  display:flex;align-items:center;gap:10px;padding:0 11px 0 13px;
  border:1px solid rgba(var(--accent-rgb),.12);border-radius:11px;
  background:linear-gradient(145deg,rgba(8,24,39,.72),rgba(4,13,23,.78));
  color:#7e93a8;cursor:pointer;text-align:left;font:inherit;transition:.18s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.ghost-search-launcher:hover{color:#cce2ef;border-color:rgba(var(--accent-rgb),.25);background:linear-gradient(145deg,rgba(11,33,51,.88),rgba(6,18,30,.9));box-shadow:0 8px 30px rgba(0,0,0,.17)}
.ghost-search-icon{font-size:1.05rem;color:#78ddff}.ghost-search-launcher>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
.ghost-search-launcher kbd{margin-left:auto;border:1px solid rgba(var(--accent-rgb),.11);border-radius:6px;background:rgba(3,11,19,.76);padding:3px 6px;color:#5f778f;font:600 .58rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}

.ghost-command-palette[hidden]{display:none!important}.ghost-command-palette{position:fixed;inset:0;z-index:3000;display:grid;place-items:start center;padding:10vh 18px 18px}
.ghost-command-backdrop{position:absolute;inset:0;border:0;background:rgba(1,5,10,.74);backdrop-filter:blur(18px) saturate(118%)}
.ghost-command-card{position:relative;width:min(720px,100%);max-height:min(690px,78vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(var(--accent-rgb),.20);border-radius:20px;background:radial-gradient(circle at 86% -14%,rgba(var(--cortex-rgb),.13),transparent 32%),linear-gradient(180deg,rgba(7,20,33,.99),rgba(3,10,18,.995));box-shadow:0 40px 140px rgba(0,0,0,.72),0 0 50px rgba(var(--accent-rgb),.055),inset 0 1px 0 rgba(255,255,255,.035);animation:ghost-command-in .19s cubic-bezier(.2,.8,.2,1) both}
.ghost-command-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid rgba(var(--accent-rgb),.10);background:rgba(7,21,34,.68)}
.ghost-command-input-wrap>span{font-size:1.25rem;color:#73e4ff}.ghost-command-input-wrap input{width:100%;border:0;outline:0;background:transparent;color:#eef9ff;font:560 .96rem/1.35 inherit}.ghost-command-input-wrap input::placeholder{color:#5c7187}.ghost-command-input-wrap kbd{border:1px solid rgba(var(--accent-rgb),.12);border-radius:7px;padding:5px 7px;background:rgba(2,9,16,.72);color:#667f97;font:600 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.ghost-command-results{overflow:auto;padding:8px;overscroll-behavior:contain}.ghost-command-group{padding:9px 10px 5px;color:#5d738a;font-size:.59rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ghost-command-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid transparent;border-radius:12px;padding:9px 10px;background:transparent;color:#c9d8e5;text-align:left;cursor:pointer;font:inherit;transition:.12s ease}
.ghost-command-row:hover,.ghost-command-row.selected{border-color:rgba(var(--accent-rgb),.16);background:linear-gradient(90deg,rgba(var(--accent-rgb),.09),rgba(var(--cortex-rgb),.055));color:#f3fbff}.ghost-command-row.selected{box-shadow:inset 2px 0 0 #49ddff}
.ghost-command-row-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(var(--accent-rgb),.14);border-radius:10px;background:rgba(8,30,47,.70);color:#75e3ff;font-size:.96rem}.ghost-command-copy{min-width:0}.ghost-command-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.ghost-command-copy small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6d8298;font-size:.64rem}.ghost-command-enter{color:#4e667e;font-size:.73rem}.ghost-command-row.selected .ghost-command-enter{color:#7edfff}
.ghost-command-empty{padding:38px 24px;text-align:center;color:#71889e}.ghost-command-empty strong{display:block;color:#c9dae8;margin-bottom:7px}.ghost-command-empty span{font-size:.72rem}
.ghost-command-card footer{display:flex;gap:16px;align-items:center;padding:9px 14px;border-top:1px solid rgba(var(--accent-rgb),.08);background:rgba(2,9,16,.66);color:#526a82;font-size:.58rem}.ghost-command-card footer span:last-child{margin-left:auto}
@keyframes ghost-command-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}

.ghost-workspace-flair{margin-left:auto;margin-right:10px;display:grid;justify-items:end;gap:3px;pointer-events:none;min-width:170px}
.ghost-workspace-flair::before{content:"";width:155px;height:24px;margin-bottom:-22px;opacity:.78;background:radial-gradient(ellipse at 62% 55%,rgba(var(--accent-rgb),.23),transparent 46%),repeating-radial-gradient(ellipse at 55% 50%,rgba(var(--cortex-rgb),.18) 0 1px,transparent 1px 7px);filter:blur(.1px);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 75%,transparent)}
.ghost-workspace-flair span{position:relative;color:#6fcfe8;font-size:.56rem;font-weight:800;letter-spacing:.14em}.ghost-workspace-flair small{position:relative;color:#68819a;font-size:.59rem;white-space:nowrap}
.control-header>.ghost-workspace-flair,.memlab-head>.ghost-workspace-flair,.memory-manager-head>.ghost-workspace-flair,.maintenance-head>.ghost-workspace-flair{order:2}
.control-header>.control-close,.memlab-head>.memlab-head-actions,.memory-manager-head>.memory-manager-close,.maintenance-head>.maintenance-close{order:3}
body.ghost-command-open{overflow:hidden}

/* Memory Viewer: stop spending a whole row on every button. */
.memory-manager-tools{
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) minmax(110px,auto) auto auto auto!important;
  align-items:center!important;gap:8px!important;
}
.memory-manager-tools #memorySearch{min-width:0!important;width:100%!important}
.memory-manager-tools button{width:auto!important;min-width:max-content!important}

/* Nexus normal records are data, not a five-alarm fire. */
#ghostMaintenance[data-ops-domain="nexus"] .maintenance-admin-row{
  background:linear-gradient(145deg,rgba(7,23,37,.88),rgba(3,13,23,.94))!important;
  border-color:rgba(var(--accent-rgb),.10)!important;
}
#ghostMaintenance[data-ops-domain="nexus"] .maintenance-admin-row-main>code{color:#c5dcec!important}
#ghostMaintenance[data-ops-domain="nexus"] .maintenance-admin-row-main>small,
#ghostMaintenance[data-ops-domain="nexus"] .maintenance-admin-meta{color:#71889e!important}

/* Account / MCP gets enough room to behave like a real control surface. */
@media(min-width:651px){.account-card{width:min(620px,calc(100vw - 36px))!important}}

@media(max-width:1100px){
  .ghost-search-launcher{margin:0 12px;min-width:150px;max-width:400px}.ghost-search-launcher>span:nth-child(2){display:none}.ghost-search-launcher kbd{display:none}
  .ghost-workspace-flair{display:none}
  .memory-manager-tools{grid-template-columns:minmax(0,1fr) auto auto!important}
  .memory-manager-tools #memorySearch{grid-column:1/-1!important}
}
@media(max-width:760px){
  :root{--ghost-taskbar-expanded:218px;--ghost-taskbar-collapsed:64px;--ghost-chat-drawer-width:300px}
  .sidebar{padding:12px 7px!important}
  body.ghost-taskbar-collapsed .control-nav-btn,body.ghost-taskbar-collapsed .memory-manager-btn,body.ghost-taskbar-collapsed .ghost-taskbar-toggle{width:46px!important}
  .ghost-chat-drawer{min-width:0;width:min(var(--ghost-chat-drawer-width),calc(100vw - var(--ghost-taskbar-width)))}
  .ghost-search-launcher{display:none}.ghost-command-palette{padding:7vh 10px 10px}.ghost-command-card{max-height:84vh;border-radius:16px}.ghost-command-card footer span:last-child{display:none}.ghost-workspace-flair{display:none}
  .menu-btn{display:grid!important}
  .memory-manager-tools{grid-template-columns:1fr 1fr!important}
  .memory-manager-tools #memorySearch{grid-column:1/-1!important}
  .memory-manager-tools button{min-width:0!important;width:100%!important}
}
@media(max-width:430px){
  :root{--ghost-taskbar-expanded:205px;--ghost-taskbar-collapsed:58px;--ghost-chat-drawer-width:calc(100vw - var(--ghost-taskbar-width))}
  .ghost-command-card footer{gap:9px}.ghost-command-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.ghost-command-row{grid-template-columns:34px minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){
  .ghost-command-card{animation:none!important}.app,.ghost-chat-drawer,.sidebar{transition:none!important}
}
