.window{
  z-index:10001;
}

/* workplace.css sets body{display:flex} for the toolbar+iframe layout; on this
   page it turns #open-generate-btn/#tour-help-btn into flex-row siblings of
   <main>, so .home-main's auto-margins only center it in the space left over
   after those buttons instead of the full viewport. `html body` outranks that
   rule's specificity regardless of stylesheet load order. */
html body {
  display: block;
}

.topic-autocomplete {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 300;
  background: var(--workplace-window-background);
  border: var(--workplace-window-border);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 20px rgba(0,0,0,0.14);
  overflow: hidden;
  display: none;
  min-width: 160px;
  max-width: min(320px, 90vw);
}
.topic-autocomplete .search-suggestion {
  padding: 7px 14px;
  cursor: pointer;
  font-size: var(--text-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background var(--duration-fast) var(--ease-standard);
}
.topic-autocomplete .search-suggestion:hover,
.topic-autocomplete .search-suggestion.active {
  background: var(--accent-dim);
}

.window input[type="submit"]{
  background:none !important;
  border-radius:100px;
  width:200px;
  margin-left:calc( 50% - 100px );
  margin-top: var(--space-4);
}

#tour-help-btn {
  opacity: 0.7;
}
#tour-help-btn:hover {
  opacity: 1;
}

#ElaborateMapWindow .window-content {
  display: flex;
  flex-direction: column;
}

#ElaborateMapWindow .gen-tabs {
  flex: none;
}

#ElaborateMapWindow .gen-panel {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

#ElaborateMapWindow form {
  height: 100%;
}

#ElaborateMapWindow .form-inner {
  width: 90%;
  text-align: left;
  margin: auto;
  height: 100%;
}

#topic-count {
  font-size: 0.75em;
  opacity: 0.6;
}

.onboarding_input_list + .onboarding-sentence {
  margin-top: var(--space-5);
}

input[type="submit"].important-button {
  margin-top: var(--space-5);
}


.feed-list,
.recommend-list {
  width:calc( 100% - 10px );
  max-width:650px;
  margin:auto;
  padding-left:10px;
  padding-right:10px;
  display: flex;
  gap: var(--space-4);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--accent) transparent;
}
.feed-list {
  flex-direction: column;
  align-items: center;
  max-height: 100vh;
  border-radius: var(--radius-md);
  margin-top:35px;
  padding-bottom:100px;
}
.recommend-list {
  flex-wrap: wrap;
  align-items: flex;
  height:265px;
  margin-top:20px;
  padding-top:1px;
}
.feed-list::-webkit-scrollbar,
.recommend-list::-webkit-scrollbar {
  width: 10px;
}
.feed-list::-webkit-scrollbar-track,
.recommend-list::-webkit-scrollbar-track {
  background: transparent;
}
.feed-list::-webkit-scrollbar-thumb,
.recommend-list::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 6px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.feed-card {
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--knowledge-background);
  border: var(--knowledge-border);
  color: var(--knowledge-text-color);
  width:calc( 100% );
}

.map-card {
  width:calc( 50% - 8px );
  min-width:100px;
  overflow:hidden;
  height:120px;
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background: var(--workplace-window-background);
  border: var(--workplace-window-border);
  color: inherit;
  text-decoration: none;
  transition: box-shadow var(--duration-base) var(--ease-standard),
              transform var(--duration-base) var(--ease-standard);
  
  mask-image: linear-gradient(to bottom, var(--background) 60%, transparent 100%);
}
.map-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.14);
  transform: translateY(-1px);
}

.feed-card-map {
  font-size: var(--text-sm);
  opacity: 0.6;
  margin-bottom: var(--space-1);
}

.feed-card-subject {
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.feed-card knowledge-content {
  display: block;
  overflow: auto;
  margin-bottom: var(--space-3);
}

.feed-card-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.feed-card-open {
  font-size: var(--text-sm);
  font-weight: 600;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-lg);
  background: var(--accent-dim);
  border: 1px solid var(--accent);
  color: inherit;
  text-decoration: none;
  transition: background var(--duration-base) var(--ease-standard);
}
.feed-card-open:hover {
  background: var(--accent);
  color: #fff;
}

.map-card-name {
  font-weight: 600;
  margin-bottom: var(--space-1);
}

.map-card-meta {
  font-size: var(--text-sm);
  opacity: 0.6;
  margin-bottom: var(--space-2);
}

.map-card-preview {
  list-style: none;
  font-size: var(--text-sm);
  opacity: 0.8;
}
.map-card-preview li {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-empty,
.recommend-empty {
  opacity: 0.6;
  font-size: var(--text-sm);
}

.own-badge {
  display: inline-block;
  font-size: 0.7em;
  font-weight: 600;
  padding: 1px 7px;
  margin-left: var(--space-2);
  border-radius: 100px;
  background: var(--accent-dim);
  border: 1px solid var(--accent);
  vertical-align: middle;
}

.own-badge-shared {
  opacity: 0.7;
}

.nav input[type="text"]{
  padding-left:10px !important;
  padding-right:-10px !important;
  font-weight:normal;
}