/* FounderOS: calm Win95/98 cloud desktop, sparse icons, apps open on demand */

:root {
  --desktop-blue: #73b8d9;
  --desktop-blue-dark: #5aa4ca;
  --cloud: rgba(255, 255, 255, 0.78);
  --chrome: #c7c7c7;
  --chrome-light: #f2f2f2;
  --chrome-mid: #d8d8d8;
  --chrome-dark: #777;
  --ink: #111;
  --active: #000080;
  --label: #111111;
  --poster-paper: #f8f5ee;
  --poster-muted: #bbb7af;
  --mono: "IBM Plex Mono", "Courier New", monospace;
  --pixel: "Pixelify Sans", "IBM Plex Mono", "Courier New", monospace;
}

html:has(.founder-os),
body.founderos-page:has(.founder-os) {
  height: 100%;
  overflow: hidden;
}

body.founderos-page {
  margin: 0;
  background: var(--desktop-blue);
}

.founder-os,
.founder-os * {
  box-sizing: border-box;
}

.founder-os {
  height: 100dvh;
  min-height: 520px;
  color: var(--ink);
  font-family: var(--mono);
  user-select: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.desktop {
  position: relative;
  height: 100%;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(247,244,233,.92) 0%, rgba(247,244,233,.46) 22%, rgba(247,244,233,.18) 52%, rgba(247,244,233,.72) 100%),
    linear-gradient(180deg, rgba(18,45,28,.16) 0%, rgba(18,45,28,.06) 42%, rgba(18,45,28,.28) 100%),
    url('/assets/img/founderos-desktop-illustration.svg') center / cover no-repeat,
    #cbbf9f;
}

.desktop::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.10), transparent 42%, rgba(0,0,0,.08)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px);
}

.desktop-icons {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}

.desktop-icon {
  appearance: none;
  position: absolute;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: white;
  text-decoration: none;
  display: grid;
  place-items: center;
  align-content: start;
  gap: 5px;
  width: 88px;
  min-height: 76px;
  padding: 2px;
  cursor: default;
  pointer-events: auto;
  font-family: var(--pixel);
  font-size: 12px;
  text-shadow: 1px 1px 0 rgba(0,0,0,.55);
}

.desktop-icon--about { left: 24px; top: 22px; }
.desktop-icon--map { left: 124px; top: 22px; }
.desktop-icon--music { left: 224px; top: 22px; }
.desktop-icon--radar { left: 324px; top: 22px; }
.desktop-icon--photos { left: 424px; top: 22px; }
.desktop-icon--lists { left: 24px; top: 122px; }
.desktop-icon--statistics { left: 124px; top: 122px; }
.desktop-icon--game { left: 324px; top: 122px; bottom: auto; }
.desktop-icon--stakhgpt { left: 424px; top: 122px; bottom: auto; }
.desktop-icon--opensource { left: 24px; top: 222px; }
.desktop-icon--startups { left: 124px; top: 222px; }
.desktop-icon--founders { left: 224px; top: 222px; }
.desktop-icon--ideas { left: 324px; top: 222px; }
.desktop-icon--builder { left: 424px; top: 222px; }
.desktop-icon--publications { left: 524px; top: 222px; }
.desktop-icon--inbox { left: 24px; bottom: 92px; }
.desktop-icon--playbooks { left: 124px; bottom: 92px; }
.desktop-icon--tables { left: 224px; bottom: 92px; }
.desktop-icon--fileintake { left: 424px; bottom: 92px; }
.desktop-icon--instagram { right: 42px; bottom: 86px; }
.desktop-icon--linkedin { right: 32px; top: 24px; }
.desktop-icon--cargofy { left: 324px; bottom: 92px; }

.desktop-icon:focus-visible,
.desktop-icon:hover {
  outline: 0;
  transform: translateY(-1px);
}

.desktop-icon:focus-visible .app-icon,
.desktop-icon:hover .app-icon {
  box-shadow: 0 0 0 1px rgba(255,255,255,.85), 2px 2px 0 rgba(0,0,0,.34);
}

.icon-label {
  max-width: 86px;
  padding: 1px 4px 2px;
  background: var(--label);
  line-height: 1.05;
  text-align: center;
  overflow-wrap: anywhere;
}

.app-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: var(--poster-paper);
  border: 2px solid #111;
  box-shadow: 2px 2px 0 rgba(0,0,0,.32);
  overflow: hidden;
}

.app-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  image-rendering: auto;
}

.desktop-icon--game .app-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: auto;
}

.app-window {
  position: absolute;
  z-index: 5;
  display: grid;
  grid-template-rows: 28px minmax(0, 1fr);
  min-width: 280px;
  min-height: 180px;
  background: var(--chrome);
  border: 2px solid;
  border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  box-shadow: 2px 2px 0 rgba(0,0,0,.35);
}

.app-window[hidden] {
  display: none;
}

.app-window.is-active {
  z-index: 20;
}

.app-window--about {
  left: 300px;
  top: 22px;
  width: 430px;
  height: auto;
  min-height: 0;
  grid-template-rows: 28px auto;
}

.app-window--map {
  right: 24px;
  left: auto;
  top: 64px;
  width: min(610px, 48vw);
  height: calc(100dvh - 132px);
}

.app-window--publications {
  left: 22vw;
  top: 15vh;
  width: min(620px, 54vw);
  height: 430px;
}

.app-window--music {
  left: 28vw;
  top: 10vh;
  width: min(440px, 42vw);
  height: min(620px, 76vh);
}

.app-window--game {
  left: 28vw;
  top: 12vh;
  width: min(760px, 62vw);
  height: min(540px, 76vh);
}

.app-window--stakhgpt {
  left: 24vw;
  top: 18vh;
  width: min(520px, 48vw);
  height: min(470px, 64vh);
}

.window-titlebar {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 3px 4px 3px 7px;
  background: var(--active);
  color: white;
  font-family: var(--pixel);
  font-weight: 700;
  font-size: 13px;
  cursor: move !important;
  touch-action: none;
}

.window-titlebar--dark {
  background: #151515;
}

.window-title {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.window-controls {
  display: flex;
  gap: 3px;
}

.window-controls button,
.start-button,
.taskbar-button,
.start-menu button,
.start-menu a {
  appearance: none;
  border: 2px solid;
  border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  background: var(--chrome);
  color: #111;
  font-family: var(--pixel);
  box-shadow: none;
}

.window-controls button {
  width: 20px;
  height: 20px;
  padding: 0;
  line-height: 14px;
  font-size: 13px;
  font-weight: 700;
}

.window-content {
  min-height: 0;
  overflow: auto;
  padding: 12px;
  border: 2px solid;
  border-color: var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark);
  background: #f4f4ec;
}

.map-window-content {
  padding: 4px;
  overflow: hidden;
}

.about-content {
  overflow: auto;
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 12px;
  align-items: start;
}

.about-photo {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border: 2px solid;
  border-color: var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark);
  image-rendering: auto;
}

.about-content p {
  margin: 0 0 8px;
  line-height: 1.35;
}

.about-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.about-links a {
  color: #003399;
  font-size: 12px;
  font-weight: 400;
}

.map-window-content iframe,
.music-content iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #111;
}

.music-content {
  padding: 0;
  overflow: hidden;
  background: #000;
}

.eyebrow {
  margin: 0;
  font-family: var(--pixel);
  font-size: 12px;
  text-transform: uppercase;
  color: #555;
}

.window-content h2 {
  margin: 0 0 8px;
  font-family: var(--pixel);
  font-size: 28px;
  line-height: 1;
}

.muted {
  color: #555;
  margin: 0;
}

.publication-list a {
  display: block;
  padding: 8px;
  color: #111;
  text-decoration: none;
  border: 1px dotted #777;
  margin-bottom: 8px;
}

.game-content {
  padding: 0;
  overflow: hidden;
  background: #18262f;
  display: grid;
  grid-template-rows: minmax(0, 1fr) 30px auto auto;
}

#cargo-game {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(#9fd5ed, #5aa5c8);
  touch-action: none;
}

.game-hud {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 0 10px;
  background: #111;
  color: #e8f5d6;
  font-family: var(--pixel);
  font-size: 13px;
}

.taskbar {
  position: fixed;
  z-index: 5000;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(42px + env(safe-area-inset-bottom, 0px));
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  padding: 4px 6px calc(4px + env(safe-area-inset-bottom, 0px));
  background: var(--chrome);
  border-top: 2px solid var(--chrome-light);
  box-shadow: inset 0 1px 0 #fff;
  font-family: var(--pixel);
}

.start-button {
  height: 32px;
  min-width: 72px;
  padding: 0 12px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}

.taskbar-apps {
  display: flex;
  gap: 5px;
  min-width: 0;
  overflow: hidden;
}

.taskbar-button {
  height: 30px;
  min-width: 92px;
  max-width: 160px;
  padding: 0 8px;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.taskbar-button.is-active {
  border-color: var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark);
  background: #b9b9b9;
}

.tray {
  height: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 2px solid;
  border-color: var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark);
  background: #d4d4d4;
  font-size: 12px;
}

.tray-divider {
  width: 1px;
  height: 18px;
  background: #888;
}

.start-menu {
  position: fixed;
  z-index: 5010;
  left: max(6px, env(safe-area-inset-left, 0px));
  bottom: calc(42px + env(safe-area-inset-bottom, 0px));
  width: 210px;
  padding: 6px;
  background: var(--chrome);
  border: 2px solid;
  border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  box-shadow: 3px 3px 0 rgba(0,0,0,.35);
}

.start-menu[hidden] {
  display: none;
}

.start-menu button,
.start-menu a {
  display: block;
  width: 100%;
  padding: 8px 10px;
  margin: 0 0 4px;
  text-align: left;
  text-decoration: none;
  font-size: 14px;
}

@media (max-width: 720px) {
  .founder-os {
    min-height: 100dvh;
  }

  .desktop-icons {
    inset: 0;
  }

  .desktop-icon {
    width: 82px;
    min-height: 74px;
  }

  .desktop-icon--about { left: 14px; top: 18px; }
  .desktop-icon--map { left: 106px; top: 72px; }
  .desktop-icon--publications { left: 18px; top: 154px; }
  .desktop-icon--music { right: 18px; top: 210px; left: auto; }
  .desktop-icon--game { left: 18px; bottom: 82px; }
  .desktop-icon--stakhgpt { right: 16px; top: 18px; left: auto; }
  .desktop-icon--instagram { right: 16px; bottom: 118px; left: auto; }
  .desktop-icon--linkedin { left: 114px; bottom: 90px; }
  .desktop-icon--cargofy { left: 114px; bottom: 170px; }
  .desktop-icon--fileintake { left: 206px; bottom: 170px; }

  .icon-label {
    max-width: 86px;
    overflow-wrap: normal;
  }

  .app-window,
  .app-window--map,
  .app-window--publications,
  .app-window--music,
  .app-window--game {
    left: 0 !important;
    right: 0;
    top: 0 !important;
    bottom: 42px;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    min-height: 0;
    border-left: 0;
    border-right: 0;
  }

  .about-content { grid-template-columns: 80px 1fr; }
  .about-photo { width: 72px; height: 72px; }

  .app-window--about {
    left: 10px !important;
    right: auto;
    top: 54px !important;
    bottom: auto;
    width: calc(100% - 20px) !important;
    height: auto !important;
    min-height: 0;
    grid-template-rows: 36px auto;
    border-left: 2px solid;
    border-right: 2px solid;
    border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  }

  .window-titlebar {
    min-height: 36px;
    font-size: 14px;
  }

  .window-controls button {
    width: 34px;
    height: 28px;
  }

  .taskbar {
    height: 46px;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .taskbar-button {
    min-width: 78px;
    max-width: 110px;
  }

  .tray-hide-mobile {
    display: none;
  }
}


.score-form {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 6px 8px;
  background: #e7e2ce;
  font-size: 12px;
}

.score-form input {
  max-width: 140px;
}

.score-list {
  margin: 0;
  padding: 5px 10px 7px 28px;
  background: #f4f0dc;
  max-height: 74px;
  overflow: auto;
  font-size: 12px;
}

.score-list li {
  padding: 1px 0;
}

.stakhgpt-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 10px;
  background: #f4f0dc;
}

.stakhgpt-avatar {
  display: flex;
  align-items: center;
  gap: 10px;
}

.stakhgpt-avatar img {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  box-shadow: 2px 2px 0 rgba(0,0,0,.28);
}

.chat-log {
  min-height: 0;
  overflow: auto;
  border: 1px inset #fff;
  background: #fffdf0;
  padding: 8px;
}

.chat-log p {
  margin: 0 0 8px;
}

.chat-input {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
}

/* FounderOS polish pass */
.desktop-icon,
.desktop-icon * ,
a,
button,
.start-button,
.window-controls button {
  cursor: pointer;
}

.desktop-icon {
  color: #fff;
}

.icon-label {
  color: #fff;
  background: rgba(0, 120, 120, .92);
  text-shadow: 1px 1px 0 #000;
}

.desktop-icon:hover,
.desktop-icon:focus-visible {
  transform: none;
}

.desktop-icon:hover .app-icon,
.desktop-icon:focus-visible .app-icon {
  box-shadow: 2px 2px 0 rgba(0,0,0,.28);
}

.desktop-icon:hover .icon-label,
.desktop-icon:focus-visible .icon-label {
  box-shadow: none;
}

.start-menu {
  width: 220px;
  padding: 0;
}

.start-menu-title {
  padding: 8px 10px;
  background: linear-gradient(90deg, #001b6b, #0b66b5);
  color: #fff;
  font-family: var(--pixel);
  font-weight: 700;
  letter-spacing: .04em;
}

.start-menu-group {
  padding: 5px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #888;
}

.start-menu button,
.start-menu a {
  min-height: 28px;
  padding-left: 28px;
  position: relative;
}

.start-menu button::before,
.start-menu a::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 8px;
  width: 10px;
  height: 10px;
  background: #008080;
  border: 1px solid #111;
}

.app-window--login {
  left: 34vw;
  top: 20vh;
  width: min(360px, 36vw);
  height: 320px;
}

.login-content {
  display: grid;
  gap: 9px;
  align-content: start;
}

.login-content label {
  display: grid;
  gap: 4px;
  font-weight: 700;
}

.login-content input,
.chat-input input,
.score-form input {
  min-height: 24px;
  border: 2px inset #fff;
  background: #fff;
  padding: 2px 5px;
}

.login-content button,
.login-google-button,
.chat-input button,
.score-form button,
.game-hud button {
  display: inline-grid;
  place-items: center;
  border: 2px solid;
  border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  background: var(--chrome);
  color: #111;
  text-decoration: none;
  min-height: 25px;
  padding: 2px 10px;
}

.login-status {
  min-height: 18px;
  margin: 0;
  color: #333;
}

.game-content {
  grid-template-rows: minmax(0, 1fr);
  background: #bbada0;
}

.merge-game {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) 32px auto auto;
  gap: 8px;
  padding: 12px;
  background: #faf8ef;
  color: #443a32;
}

.merge-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--pixel);
  color: #443a32;
}

.merge-board {
  align-self: center;
  justify-self: center;
  width: min(360px, 100%);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
  background: #bbada0;
  border: 2px solid;
  border-color: #7b6f66 #efe1d5 #efe1d5 #7b6f66;
}

.merge-tile {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  background: #cdc1b4;
  color: #776e65;
  font: 700 clamp(18px, 5vw, 34px)/1 var(--mono);
  border: 1px solid rgba(0,0,0,.12);
}

.merge-tile[data-value='2'] { background: #eee4da; }
.merge-tile[data-value='4'] { background: #ede0c8; }
.merge-tile[data-value='8'] { background: #f2b179; color: #fff; }
.merge-tile[data-value='16'] { background: #f59563; color: #fff; }
.merge-tile[data-value='32'] { background: #f67c5f; color: #fff; }
.merge-tile[data-value='64'] { background: #f65e3b; color: #fff; }
.merge-tile[data-value='128'],
.merge-tile[data-value='256'],
.merge-tile[data-value='512'],
.merge-tile[data-value='1024'],
.merge-tile[data-value='2048'] { background: #edcf72; color: #fff; font-size: clamp(16px, 4vw, 28px); }

.score-form {
  background: #f4f0dc;
}

.score-list {
  background: #fffaf0;
}

.about-content a,
.publication-list a,
.chat-log a {
  cursor: pointer;
}

.score-form[hidden] {
  display: none !important;
}

/* FounderOS refinement: cursor discipline, Win98 menu, compact bio, Blocks game */
.founder-os,
.founder-os * {
  cursor: default;
}

.founder-os a,
.founder-os button,
.founder-os .desktop-icon,
.founder-os .desktop-icon *,
.founder-os [data-open-app],
.founder-os [data-close-app],
.founder-os [data-minimize-app] {
  cursor: pointer;
}

.founder-os input,
.founder-os textarea {
  cursor: text;
}

.founder-os [data-drag-handle] {
  cursor: move;
}

.app-icon img[src*="stakh-avatar-instagram"] {
  object-fit: cover;
  border-radius: 6px;
}

.about-content {
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 10px;
  overflow: visible;
}

.app-window--about {
  height: auto;
  width: 430px;
  min-height: 0;
  grid-template-rows: 28px auto;
}

.about-photo {
  width: 78px;
  height: 78px;
}

.about-content p {
  font-size: 12px;
  line-height: 1.34;
}

.about-links {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  white-space: nowrap;
}

.start-menu {
  width: 250px;
  border: 2px solid;
  border-color: #fff #666 #666 #fff;
  background: #c0c0c0;
  box-shadow: 3px 3px 0 rgba(0,0,0,.3);
}

.start-menu-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  min-height: 32px;
  padding: 7px 9px;
  background: linear-gradient(90deg, #000080, #1084d0);
  color: #fff;
}

.start-menu-title small {
  font: 700 10px/1 var(--mono);
  opacity: .9;
}

.start-menu-user {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  align-items: center;
  padding: 7px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #777;
}

.start-menu-user img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border: 2px inset #fff;
}

.start-menu-user strong,
.start-menu-user span,
.start-menu-status span {
  display: block;
  font-size: 11px;
  line-height: 1.2;
}

.start-menu button,
.start-menu a {
  color: #111;
  background: transparent;
}

.start-menu button:hover,
.start-menu a:hover,
.start-menu button:focus-visible,
.start-menu a:focus-visible {
  color: #fff;
  background: #000080;
  outline: none;
}

.game-content {
  background: #c0c0c0;
}

.tetris-game {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 8px;
  padding: 10px;
  background: #c0c0c0;
  color: #111;
}

.tetris-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 6px;
  border: 2px inset #fff;
  background: #efefef;
  font-family: var(--pixel);
}

.tetris-stage {
  display: grid;
  grid-template-columns: auto 128px;
  gap: 10px;
  align-items: start;
  justify-content: center;
  min-height: 0;
}

#cargo-blocks,
#cargo-next {
  image-rendering: pixelated;
  background: #101820;
  border: 2px inset #fff;
}

.tetris-side {
  display: grid;
  gap: 10px;
  align-content: start;
  font-size: 12px;
}

.tetris-side > div,
.game-hud,
.score-list {
  border: 2px inset #fff;
  background: #efefef;
  padding: 6px;
}

.merge-game,
.merge-board,
.merge-tile,
.merge-topline {
  display: none !important;
}

@media (max-width: 760px) {
  .app-window--about { height: auto; width: auto; }
  .about-content { overflow: auto; }
  .tetris-stage { grid-template-columns: 1fr; justify-items: center; }
  .tetris-side { grid-template-columns: 90px 1fr; width: 100%; }
}


.tetris-side,
.tetris-side *,
.game-hud,
.game-hud * {
  color: #111 !important;
}

.score-list:empty {
  display: none;
}

/* FounderOS root layout */
.desktop-icon--statistics { left: 430px; bottom: 78px; }
.desktop-icon--photos { left: 430px; top: 156px; }
.desktop-icon--fileintake { left: 524px; bottom: 78px; }
.desktop-icon--lists { right: 252px; top: 24px; }
.desktop-icon--obrii { right: 142px; bottom: 164px; }
.desktop-icon--londi { right: 142px; bottom: 86px; }
.desktop-icon--game .app-icon img { object-fit: contain; width: 40px; height: 40px; }

.app-window--statistics {
  left: 278px;
  top: 112px;
  width: min(560px, 44vw);
  height: 384px;
}
.app-window--photos {
  left: 24vw;
  top: 10vh;
  width: min(720px, 64vw);
  height: min(560px, 74vh);
}
.app-window--books {
  left: 24vw;
  top: 12vh;
  width: min(760px, 66vw);
  height: min(620px, 78vh);
}
.app-window--movies {
  left: 28vw;
  top: 12vh;
  width: min(760px, 66vw);
  height: min(620px, 78vh);
}
.app-window--photo-viewer {
  left: 30vw;
  top: 12vh;
  width: min(700px, 58vw);
  height: min(560px, 74vh);
}
.app-window--game {
  width: min(720px, 60vw);
  background: #d4d0c8;
}

.editor-content { padding: 0; overflow: hidden; }
.editor-toolbar {
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  border-bottom: 2px solid #808080;
  background: #c0c0c0;
}
.editor-toolbar button { min-height: 22px; }
.editor-layout { height: calc(100% - 30px); display: grid; grid-template-columns: 190px 1fr; }
.post-list { overflow: auto; border-right: 2px inset #fff; background: #f0f0f0; padding: 4px; }
.post-list button { display: block; width: 100%; text-align: left; margin: 0 0 3px; min-height: 28px; }
.post-editor { overflow: auto; background: #fff; padding: 10px 12px; color: #111; }
.post-editor pre { white-space: pre-wrap; font: 13px/1.45 var(--mono); }

.stats-content { padding: 8px; background: #c0c0c0; overflow: auto; }
.spreadsheet { display: grid; border: 2px inset #fff; background: #fff; font: 12px/1.25 var(--mono); }
.sheet-row { display: grid; grid-template-columns: 120px 110px 1fr; min-height: 24px; }
.sheet-row span { border-right: 1px solid #aaa; border-bottom: 1px solid #aaa; padding: 4px 5px; }
.sheet-head span { background: #217346; color: #fff; font-weight: 700; }
.photos-content { padding: 8px; overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 8px; background: #c0c0c0; }
.photos-content button { display: grid; gap: 4px; padding: 4px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #e8e8e8; color: #111; text-align: left; }
.photos-content img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid #777; }
.photos-content span { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.photo-viewer { padding: 8px; display: grid; place-items: center; background: #111; }
.photo-viewer img { max-width: 100%; max-height: 100%; object-fit: contain; }
.coming-soon-content { display: grid; align-content: center; justify-items: start; gap: 6px; background: #f7f4e9; }
.coming-soon-content p { margin: 0; font-size: 13px; }
.media-catalog-content { padding: 8px; overflow: auto; background: #c0c0c0; }
.media-catalog-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 8px; padding: 6px 8px; border: 2px inset #fff; background: #f7f4e9; }
.media-catalog-head h2 { margin: 0; font-size: 16px; }
.media-catalog-head span { font: 12px var(--mono); }
.media-catalog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.media-card { display: grid; grid-template-columns: 58px 1fr; gap: 8px; padding: 7px; min-height: 96px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #f7f4e9; color: #111; }
.media-cover { display: grid; place-items: center; width: 58px; height: 86px; border: 1px solid #777; background: #111; color: #f7f4e9; overflow: hidden; text-decoration: none; font: 12px var(--mono); }
.media-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.media-card h3 { margin: 0 0 4px; font-size: 13px; line-height: 1.2; }
.media-card p, .media-card small { display: block; margin: 0 0 3px; font-size: 11px; line-height: 1.3; }
.media-card a { color: #000080; text-decoration: underline; font-size: 11px; }

.tetris-game { background: linear-gradient(180deg,#f4f1e7,#d8d2c3); grid-template-rows: auto minmax(0,1fr) auto; }
.tetris-stage { grid-template-columns: 220px 1fr; justify-content: stretch; }
#cargo-blocks { width: 200px; height: 400px; justify-self: center; }
.tetris-side { grid-template-columns: 1fr; align-content: start; }
.next-box, .high-score-box, .game-hud { background: #f7f4e9; }
.high-score-box { min-height: 140px; }
.high-score-box .score-list { border: 0; background: transparent; padding: 0 0 0 20px; margin: 6px 0 0; }
.score-list li { margin-bottom: 3px; }

@media (max-width: 760px) {
  .desktop-icon--statistics { left: 206px; bottom: 90px; }
  .desktop-icon--photos { left: 206px; top: 142px; }
  .desktop-icon--fileintake { left: 206px; bottom: 170px; }
  .desktop-icon--lists { left: auto; right: auto; top: auto; }
  .app-window--lists, .app-window--books, .app-window--movies { width: calc(100vw - 20px); height: calc(100dvh - 82px); left: 10px; top: 10px; }
  .desktop-icon--obrii { left: 18px; bottom: 248px; right: auto; }
  .desktop-icon--londi { left: 114px; bottom: 248px; right: auto; }
  .editor-layout { grid-template-columns: 1fr; }
  .post-list { max-height: 140px; border-right: 0; border-bottom: 2px inset #fff; }
  .sheet-row { grid-template-columns: 96px 80px 1fr; }
}


/* Mobile icon alignment */
@media (max-width: 760px) {
  .desktop-icons {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 14px;
    bottom: 54px;
    display: grid;
    grid-template-columns: repeat(3, minmax(76px, 1fr));
    grid-auto-rows: 78px;
    gap: 8px 6px;
    align-content: start;
    overflow: auto;
    padding: 4px 0 12px;
  }
  .desktop-icon {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100%;
    min-width: 0;
    justify-self: center;
  }
  .icon-label {
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* Timezone tray */
.tray { position: relative; }
.tray-clock {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 24px;
}
.timezone-panel {
  position: absolute;
  right: 0;
  bottom: 32px;
  width: 238px;
  padding: 6px;
  background: #c0c0c0;
  border: 2px solid;
  border-color: #fff #777 #777 #fff;
  box-shadow: 2px 2px 0 rgba(0,0,0,.35);
  color: #111;
  font: 11px/1.3 var(--mono);
  z-index: 999;
}
.timezone-panel strong { display: block; margin-bottom: 4px; }
.timezone-panel div { display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; border-top: 1px solid #aaa; }
.timezone-panel b { font-weight: 700; }


/* FounderOS daily apps */
.desktop-icon--radar { left: 532px; top: 24px; }
.desktop-icon--signals { left: 532px; top: 104px; }
.desktop-icon--subscribe { left: 532px; top: 184px; }
.app-window--radar { left: 18vw; top: 10vh; width: min(700px, 62vw); height: min(560px, 76vh); }
.app-window--signals { left: 18vw; top: 13vh; width: min(760px, 66vw); height: min(520px, 70vh); }
.app-window--subscribe { left: 32vw; top: 20vh; width: min(430px, 42vw); height: 310px; }
.radar-content, .subscribe-content { padding: 10px 12px; overflow: auto; background: #f7f4e9; }
.radar-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.radar-head h2 { margin: 0; }
.radar-head span { width: 9px; height: 9px; border-radius: 50%; background: #217346; box-shadow: 0 0 0 1px #111, 0 0 0 0 rgba(33,115,70,.45); animation: radar-pulse 1.8s ease-out infinite; }
.radar-content.is-refreshing .radar-head span { animation: radar-pulse .75s ease-out infinite; }
.radar-tabs { display: flex; gap: 4px; margin: 0 0 8px; }
.radar-tabs button { min-width: 52px; min-height: 24px; padding: 2px 7px; border: 2px outset #fff; background: #c0c0c0; color: #111; font: 12px var(--mono); text-transform: uppercase; }
.radar-tabs button.is-active { border-style: inset; background: #000080; color: #fff; }
.radar-item { display: block; padding: 9px; margin: 0 0 9px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #fff; box-shadow: 1px 1px 0 #9a9a9a; }
.radar-rank { display: grid; align-content: start; gap: 4px; }
.radar-rank a { color: #000080; font-size: 12px; font-weight: 700; text-decoration: underline; }
.radar-rank strong { display: inline-block; width: max-content; padding: 3px 4px; border: 1px solid #777; background: #f7f4e9; font-size: 10px; line-height: 1.15; white-space: nowrap; }
.radar-post p { margin: 0 0 8px; font-size: 13px; line-height: 1.38; white-space: pre-wrap; overflow-wrap: anywhere; }
.radar-meta { display: flex; align-items: center; flex-wrap: wrap; column-gap: 7px; row-gap: 3px; margin: 0 0 6px; font-size: 11px; color: #333; }
.radar-author { font-weight: 700; }
.radar-age::before { content: '· '; color: #777; }
.radar-entity-chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 7px; }
.entity-chip,
.entity-relation-pill { appearance: none; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 22px; padding: 2px 6px; border: 1px solid #9aa7a0; background: #edf6f2; color: #003c46 !important; font: 11px/1.2 var(--mono); text-decoration: none !important; vertical-align: middle; }
.entity-chip span,
.entity-relation-pill span { flex: 0 0 auto; padding: 1px 3px; border: 1px solid #c6b26f; background: #fff7cf; color: #403604; font-size: 9px; text-transform: uppercase; }
.entity-chip:hover,
.entity-relation-pill:hover { background: #dcefe8; text-decoration: underline !important; }
.radar-x { display: inline-grid; place-items: center; width: 16px; height: 16px; border: 1px solid #111; background: #111; color: #fff !important; border-radius: 2px; font: 700 10px Arial, sans-serif; text-decoration: none !important; }
.radar-metrics { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 6px; }
.radar-metrics span { display: inline-block; padding: 2px 5px; border: 1px solid #aaa; background: #f7f4e9; font-size: 10px; line-height: 1.2; white-space: nowrap; }
.radar-item small { display: block; color: #333; font-size: 11px; line-height: 1.3; border-top: 1px solid #ddd; padding-top: 5px; }
.radar-item a { color: #000080; text-decoration: underline; }
@keyframes radar-blink { 50% { opacity: .25; } }
@keyframes radar-pulse { 0% { box-shadow: 0 0 0 1px #111, 0 0 0 0 rgba(33,115,70,.45); } 70% { box-shadow: 0 0 0 1px #111, 0 0 0 5px rgba(33,115,70,0); } 100% { box-shadow: 0 0 0 1px #111, 0 0 0 0 rgba(33,115,70,0); } }
.signals-content { padding: 8px; overflow: auto; background: #fff; display: grid; align-content: start; }
.signals-content .sheet-row { grid-template-columns: 48px minmax(170px,1.2fr) 64px minmax(240px,2fr); }
.subscribe-content label { display: grid; gap: 4px; margin: 12px 0; }
.subscribe-content input { min-height: 28px; padding: 3px 6px; font: 13px var(--mono); }
.subscribe-status { min-height: 18px; font-size: 12px; }
@media (max-width: 760px) {
  .app-window--radar, .app-window--signals, .app-window--subscribe { width: calc(100vw - 20px); height: calc(100dvh - 82px); left: 10px; top: 10px; }
  .radar-card-link { grid-template-columns: 48px minmax(0, 1fr); }
  .signals-content .sheet-row { grid-template-columns: 38px 120px 52px minmax(180px,1fr); }
}


/* Win98 grouped Start menu */
.start-menu {
  width: min(438px, calc(100vw - 12px));
  max-height: calc(100dvh - 58px);
  overflow: auto;
  padding: 0;
  background: #c0c0c0;
  border: 2px solid;
  border-color: #fff #666 #666 #fff;
  box-shadow: 3px 3px 0 rgba(0,0,0,.34);
}
.start-menu-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
}
.start-menu-column + .start-menu-column {
  border-left: 1px solid #808080;
  box-shadow: inset 1px 0 0 #fff;
}
.start-menu-group {
  padding: 5px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #808080;
}
.start-menu-heading {
  margin: 0 0 4px;
  padding: 2px 4px;
  color: #444;
  font: 700 10px/1 var(--pixel);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.start-menu button,
.start-menu a {
  position: relative;
  display: block;
  min-height: 34px;
  margin: 0 0 2px;
  padding: 8px 7px 7px 30px;
  border: 1px solid transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111;
  font: 13px/1.1 var(--pixel);
  text-decoration: none;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.start-menu button::before,
.start-menu a::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 8px;
  width: 15px;
  height: 15px;
  border: 1px solid #004e52;
  background: linear-gradient(135deg, #10a6aa, #00666a);
  box-shadow: 1px 1px 0 #fff inset, 1px 1px 0 rgba(0,0,0,.35);
}
.start-menu button:has(img)::before,
.start-menu a:has(img)::before { display: none; }
.start-menu button img,
.start-menu a img {
  position: absolute;
  left: 6px;
  top: 6px;
  width: 20px;
  height: 20px;
  object-fit: cover;
  border-radius: 3px;
}
.start-menu button img[src$=".svg"],
.start-menu a img[src$=".svg"] { object-fit: contain; }
.start-menu button:hover,
.start-menu a:hover,
.start-menu button:focus-visible,
.start-menu a:focus-visible {
  color: #fff;
  background: #000080 !important;
  border-color: #000080 !important;
  outline: none;
}
.start-menu-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 7px 9px;
  background: linear-gradient(90deg, #000080, #1084d0);
  color: #fff;
}
.start-menu-user {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  align-items: center;
  padding: 7px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #777;
  background: #d6d6d6;
}
.start-menu-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  background: #d0d0d0;
}
.start-menu-status--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.start-menu-status span {
  min-height: 28px;
  padding: 5px 6px;
  border: 2px inset #fff;
  background: #efefef;
  font: 10px/1.25 var(--mono);
}
@media (max-width: 720px) {
  .start-menu {
    left: 4px;
    right: 4px;
    bottom: 48px;
    width: auto;
    max-height: min(64dvh, 520px);
  }
  .start-menu-body {
    grid-template-columns: 1fr 1fr;
  }
  .start-menu button,
  .start-menu a {
    min-height: 36px;
    padding: 9px 6px 7px 28px;
    font-size: 12px;
  }
  .start-menu-status {
    grid-template-columns: 1fr;
  }
  .start-menu-status--compact {
    grid-template-columns: 1fr 1fr;
  }
}

/* Plain clickable taskbar clock */
.tray {
  min-width: 78px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.tray-clock {
  min-width: 74px;
  min-height: 34px;
  padding: 0 3px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111;
  text-align: center;
  cursor: pointer;
}
.tray-clock:hover,
.tray-clock:focus-visible {
  outline: 1px dotted #111;
  outline-offset: -3px;
}
@media (max-width: 720px) {
  .tray {
    min-width: 72px;
    padding-right: 2px;
  }
  .tray-clock {
    min-width: 68px;
    min-height: 42px;
  }
}

/* Ideas app */
.desktop-icon--ideas { left: 632px; top: 104px; }
.app-window--ideas { left: 20vw; top: 12vh; width: min(680px, 60vw); height: min(540px, 72vh); }
.ideas-content { padding: 10px 12px; overflow: auto; background: #f7f4e9; }
.idea-card { padding: 8px; margin: 0 0 8px; border: 2px inset #fff; background: #fff; }
.idea-card b { display:block; color:#000080; font-size:11px; text-transform: uppercase; }
.idea-card h3 { margin:4px 0; font-size:14px; }
.idea-card p, .idea-card small { display:block; font-size:12px; line-height:1.35; }
.idea-card button { margin-top:7px; min-height:28px; padding:3px 12px; }
@media (max-width: 760px) {
  .app-window--ideas { width: calc(100vw - 20px); height: calc(100dvh - 82px); left: 10px; top: 10px; }
}

/* Builder and Team apps */
.desktop-icon--builder { left: 632px; top: 184px; }
.desktop-icon--team { left: 632px; top: 264px; }
.app-window--builder { left: 23vw; top: 14vh; width: min(560px, 52vw); height: 390px; }
.app-window--onboarding { left: 18vw; top: 10vh; width: min(720px, 64vw); height: min(590px, 78vh); }
.app-window--company360 { left: 9vw; top: 7vh; width: min(960px, 82vw); height: min(660px, 84vh); }
.app-window--team { left: 25vw; top: 16vh; width: min(680px, 60vw); height: min(520px, 72vh); }
.builder-content, .team-content, .onboarding-content, .company360-content { padding: 12px; overflow: auto; background: #f7f4e9; }
.builder-steps, .team-grid { display: grid; gap: 6px; margin: 12px 0; }
.builder-steps span, .team-grid span { padding: 7px; border: 2px inset #fff; background: #fff; font-size: 12px; }
.team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .app-window--builder, .app-window--onboarding, .app-window--company360, .app-window--team { width: calc(100vw - 20px); height: calc(100dvh - 82px); left: 10px; top: 10px; }
  .team-grid { grid-template-columns: 1fr; }
}

.builder-content label { display: grid; gap: 4px; margin: 9px 0; font-size: 12px; }
.builder-content textarea,
.builder-content select {
  width: 100%;
  border: 2px inset #fff;
  background: #fff;
  color: #111;
  font: 12px/1.35 var(--mono);
  padding: 6px;
}
.builder-content textarea { resize: vertical; min-height: 82px; }
.builder-status { min-height: 18px; font-size: 12px; }

.builder-content > p,
.team-content > p,
.onboarding-content > p {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.42;
}

.onboarding-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.onboarding-flow article,
.layer-card,
.login-boundary span {
  border: 2px inset #fff;
  background: #fffdf0;
}

.onboarding-flow article {
  min-width: 0;
  padding: 8px;
}

.onboarding-flow span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 22px;
  margin-bottom: 7px;
  border: 1px solid #777;
  background: #d6e8e5;
  color: #111;
  font: 700 11px/1 var(--mono);
}

.onboarding-flow h3,
.layer-card h3 {
  margin: 0 0 6px;
  color: #000080;
  font: 700 14px/1.15 var(--pixel);
}

.onboarding-flow p,
.layer-card li,
.layer-note,
.login-boundary span {
  font-size: 12px;
  line-height: 1.35;
}

.onboarding-flow p {
  margin: 0;
}

.onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.builder-content button,
.onboarding-actions button,
.login-content button,
.idea-card button {
  border: 2px solid;
  border-color: var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);
  background: var(--chrome);
  color: #111;
  min-height: 28px;
  padding: 3px 12px;
  font-family: var(--pixel);
}

.layer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.layer-card {
  padding: 10px;
}

.layer-card ul {
  margin: 0;
  padding-left: 18px;
}

.layer-card li {
  margin: 0 0 6px;
}

.layer-note {
  padding: 7px;
  border: 1px dotted #777;
  background: #f2edd8;
}

.app-window--login {
  height: 440px;
  width: min(420px, 40vw);
}

.login-content h2 {
  margin-bottom: 4px;
}

.login-content > p {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}

.login-boundary {
  display: grid;
  gap: 5px;
  margin: 2px 0;
}

.login-boundary span {
  display: block;
  padding: 6px;
}

.login-code-form {
  display: grid;
  gap: 7px;
  margin: 0;
}

.login-google-button {
  min-height: 31px;
  font-weight: 700;
}

.login-content input:disabled {
  color: #555;
  background: #eee;
}

.company360-content {
  display: grid;
  gap: 10px;
  align-content: start;
}

.company360-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.company360-head h2 {
  margin-bottom: 4px;
}

.company360-head p,
.company360-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}

.company360-badges,
.company360-card-head,
.primitive-tags,
.integration-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.c360-badge {
  display: inline-grid;
  place-items: center;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid #555;
  background: #e7e7e7;
  color: #111;
  font: 700 10px/1 var(--mono);
  text-transform: uppercase;
  white-space: nowrap;
}

.c360-badge--preview {
  background: #d6e8e5;
}

.c360-badge--demo {
  background: #fff2a8;
}

.c360-badge--locked {
  background: #e0e0e0;
  color: #333;
}

.company360-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.company360-summary span,
.company360-card,
.primitive-tags span,
.integration-list span {
  border: 2px inset #fff;
  background: #fffdf0;
}

.company360-summary span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px;
  font-size: 11px;
  line-height: 1.25;
}

.company360-summary b {
  color: #000080;
  font-size: 10px;
  text-transform: uppercase;
}

.company360-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.company360-card {
  min-width: 0;
  padding: 9px;
  overflow-wrap: anywhere;
}

.company360-card--wide {
  grid-column: span 2;
}

.company360-card-head {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}

.company360-card h3 {
  margin: 0;
  color: #000080;
  font: 700 14px/1.15 var(--pixel);
}

.company360-card ul,
.gate-list {
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.35;
}

.company360-card li {
  margin-bottom: 5px;
}

.company360-kv {
  display: grid;
  gap: 5px;
  margin: 0;
}

.company360-kv div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 6px;
  font-size: 12px;
  line-height: 1.3;
}

.company360-kv dt {
  color: #000080;
  font-weight: 700;
}

.company360-kv dd {
  margin: 0;
}

.primitive-tags span,
.integration-list span {
  padding: 5px 6px;
  font-size: 11px;
  line-height: 1.2;
}

.integration-list span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  justify-content: space-between;
}

.integration-list b {
  color: #555;
  font-size: 10px;
  text-transform: uppercase;
}

.company360-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 7px;
}

.company360-metrics span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
  border: 2px inset #fff;
  background: #fff;
  font-size: 11px;
  line-height: 1.2;
}

.company360-metrics b {
  color: #006060;
  font-size: 15px;
}

@media (max-width: 980px) {
  .onboarding-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company360-summary,
  .company360-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company360-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .app-window--login {
    width: calc(100vw - 20px);
    height: calc(100dvh - 82px);
    left: 10px;
    top: 10px;
  }
  .onboarding-flow,
  .layer-grid,
  .company360-summary,
  .company360-grid,
  .company360-metrics {
    grid-template-columns: 1fr;
  }
  .company360-head {
    grid-template-columns: 1fr;
  }
  .company360-card--wide {
    grid-column: auto;
  }
  .company360-kv div {
    grid-template-columns: 1fr;
  }
}

/* Overnight FounderOS refactor */
.app-icon { border-radius: 4px; background: #d8d8d0; border: 1px solid rgba(255,255,255,.75); padding: 4px; }
.app-icon img { object-fit: contain; border-radius: 2px; }
.app-icon img[src*="stakh-avatar-instagram"], .app-icon img[src*="cargofy"], .app-icon img[src*="obrii"], .app-icon img[src*="londi"] { object-fit: cover; }
.map-window-content { position: relative; background: #d8d2c3; }
.map-loading { position: absolute; inset: 4px; display: grid; place-items: center; border: 2px inset #fff; background: #f7f4e9; color: #19351f; font: 12px var(--mono); z-index: 1; }
.map-window-content iframe { position: relative; z-index: 2; }
.map-window-content iframe[src="about:blank"] { opacity: 0; }
.radar-subscribe-form { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 5px; align-items: center; margin: 0 0 8px; padding: 5px; border: 2px inset #fff; background: #e7e2ce; }
.radar-subscribe-form input { min-height: 24px; border: 2px inset #fff; background: #fff; padding: 2px 5px; font: 11px var(--mono); }
.radar-subscribe-form button { min-height: 24px; padding: 2px 8px; font: 11px var(--pixel); }
.radar-subscribe-form span { min-width: 56px; font: 10px var(--mono); color: #333; }
.radar-post-text.is-collapsed { max-height: 7.2em; overflow: hidden; position: relative; }
.radar-read-more { margin: -2px 0 7px; min-height: 22px; padding: 1px 7px; font: 11px var(--pixel); }
.radar-post p a { color: #000080; text-decoration: underline; font-weight: 700; }
.tetris-game { grid-template-rows: auto minmax(0,1fr) auto; }
.tetris-stage { grid-template-columns: minmax(220px, 1fr) 116px; align-items: center; }
.tetris-board-wrap { display: grid; place-items: center; min-height: 0; }
#cargo-blocks { width: min(260px, 100%); height: auto; max-height: calc(100dvh - 210px); }
.tetris-side { opacity: .82; font-size: 11px; }
.high-score-box { min-height: 0; max-height: 88px; overflow: auto; }
.start-menu-user { grid-template-columns: 34px 1fr auto; }
.start-menu-user button { min-height: 24px; padding: 3px 8px 3px 28px !important; margin: 0; border: 2px solid !important; border-color: #fff #777 #777 #fff !important; background: #c0c0c0 !important; position: relative; }
.start-menu-user button::before { display:none; }
.desktop-icon--signals, .desktop-icon--subscribe, .desktop-icon--team { display: none !important; }
@media (max-width:760px){ .radar-subscribe-form{grid-template-columns:1fr auto}.radar-subscribe-form span{grid-column:1/-1}.tetris-stage{grid-template-columns:1fr}.tetris-side{grid-template-columns:1fr 1fr} }

/* Private command queue */
.app-window--inbox { left: 9vw; top: 10vh; width: min(1040px, 84vw); height: min(680px, 82vh); }
.app-window--fileintake { left: 12vw; top: 12vh; width: min(900px, 78vw); height: min(560px, 72vh); }
.command-center-content,
.inbox-content,
.file-intake-content { padding: 10px; overflow: auto; background: #f7f4e9; }
.command-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 10px; }
.command-grid article,
.queue-card { border: 2px solid; border-color: #fff #777 #777 #fff; background: #fff; padding: 8px; box-shadow: 1px 1px 0 #999; }
.command-grid strong,
.queue-card strong { display: block; margin: 0 0 4px; font-size: 12px; }
.command-grid p,
.queue-card p { margin: 0; font-size: 11px; line-height: 1.35; }
.inbox-form { display: grid; gap: 6px; align-items: start; margin: 0 0 10px; }
.inbox-capture-form { grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(120px, .7fr)) auto; padding: 8px; border: 2px inset #fff; background: #e9e4d4; }
.inbox-capture-form textarea { grid-column: 1 / -1; min-height: 92px; resize: vertical; }
.file-intake-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.file-intake-head h2 { margin: 0; font-size: 24px; }
.file-intake-form { display: grid; grid-template-columns: minmax(210px, 1.1fr) minmax(120px, .6fr) minmax(160px, 1fr) auto minmax(86px, .5fr); gap: 6px; align-items: center; margin: 0 0 10px; padding: 8px; border: 2px inset #fff; background: #e9e4d4; }
.inbox-form input,
.inbox-form textarea,
.inbox-form select,
.inbox-head-actions input,
.file-intake-form input { border: 2px inset #fff; background: #fff; padding: 5px; font: 12px var(--mono); min-width: 0; }
.inbox-form button,
.command-center-content button,
.inbox-head-actions button,
.inbox-card-actions button,
.file-intake-head button,
.file-intake-form button,
.file-intake-table button { border: 2px outset #fff; background: #c0c0c0; padding: 5px 10px; font: 12px var(--mono); color: #111; }
.inbox-form [data-inbox-status] { align-self: center; min-height: 18px; font-size: 11px; color: #333; }
.file-intake-form [data-file-intake-status] { min-height: 18px; font-size: 11px; color: #333; }
.file-intake-table-wrap { overflow: auto; border: 2px inset #fff; background: #fff; }
.file-intake-table { width: 100%; min-width: 760px; border-collapse: collapse; font: 11px/1.35 var(--mono); }
.file-intake-table th,
.file-intake-table td { padding: 6px; border: 1px solid #b8b8b8; text-align: left; vertical-align: top; }
.file-intake-table th { position: sticky; top: 0; background: #d4d0c6; z-index: 1; }
.file-intake-table strong,
.file-intake-table small { display: block; max-width: 260px; overflow-wrap: anywhere; }
.file-intake-table small { margin-top: 2px; color: #555; }
.file-intake-table code { font: 11px var(--mono); color: #000080; }
.queue-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.queue-columns h3 { margin: 0 0 6px; font-size: 13px; }
.queue-card { margin: 0 0 7px; }
.queue-card span { display: block; color: #333; font-size: 10px; margin: 0 0 4px; }
.queue-card a { color: #000080; font-size: 11px; }
.radar-card-link { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 10px; color: inherit !important; text-decoration: none !important; }
.radar-rank span { color: #000080; font-size: 12px; font-weight: 700; }
.radar-rank strong { font-size: 18px; text-align: center; }
.radar-item:hover { outline: 1px dotted #000080; }
@media (max-width: 760px) {
  .command-grid,
  .queue-columns,
  .inbox-form,
  .file-intake-form { grid-template-columns: 1fr; }
  .app-window--fileintake { left: 10px; top: 10px; width: calc(100vw - 20px); height: calc(100dvh - 82px); }
  .inbox-form textarea { grid-column: auto; }
}


.inbox-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; margin: 0 0 8px; }
.inbox-head h2 { margin: 0; }
.inbox-head p { margin: 2px 0 0; font-size: 11px; max-width: 64ch; }
.inbox-head-actions { display: flex; gap: 6px; align-items: center; }
.inbox-head-actions input { width: 190px; }
.inbox-stats { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 6px; margin: 0 0 8px; }
.inbox-stats span { padding: 6px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #fff; font-size: 10px; text-transform: uppercase; }
.inbox-stats strong { display: block; font-size: 16px; color: #000080; }
.inbox-lanes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.inbox-lanes section { min-width: 0; }
.inbox-lanes h3 { margin: 0 0 7px; font-size: 13px; }
.inbox-card { margin: 0 0 8px; padding: 8px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #fff; box-shadow: 1px 1px 0 #999; }
.inbox-card-top { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; align-items: start; }
.inbox-card strong { font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.inbox-card b { padding: 1px 4px; border: 1px solid #999; background: #f7f4e9; font-size: 10px; text-transform: uppercase; }
.inbox-card p { margin: 5px 0; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.inbox-card span { display: block; color: #333; font-size: 10px; }
.inbox-card-actions { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.inbox-card-actions a,
.inbox-card-actions button { display: inline-block; margin: 0; font-size: 10px; color: #000080; }
.inbox-card-actions button { color: #111; padding: 2px 6px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 5px; }
.tag-row em { font-style: normal; padding: 1px 4px; background: #e7e2ce; border: 1px solid #aaa; font-size: 10px; }
.auth-status { margin: 0 0 8px; padding: 5px; border: 2px inset #fff; background: #fff; font-size: 11px; }
.login-content [data-auth-logout] { margin-top: 6px; }
@media (max-width: 1100px) { .inbox-lanes { grid-template-columns: repeat(2, minmax(0,1fr)); } .inbox-capture-form { grid-template-columns: repeat(2, minmax(0,1fr)); } .inbox-capture-form textarea { grid-column: 1 / -1; } }
@media (max-width: 760px) { .inbox-lanes, .inbox-stats, .inbox-capture-form { grid-template-columns: 1fr; } .inbox-head { display: grid; } .inbox-head-actions { display: grid; } .inbox-head-actions input { width: 100%; } }

/* Radar subscribe CTA + modal */
.radar-subscribe-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  margin: 0 0 9px;
  padding: 7px 9px;
  border: 2px solid;
  border-color: #fff0c7 #8f5a00 #8f5a00 #fff0c7;
  background: linear-gradient(180deg, #ffb347, #e97812);
  color: #1b1100;
  text-align: left;
  box-shadow: 1px 1px 0 #7a4c00;
  cursor: pointer;
}
.radar-subscribe-cta strong { font: 700 12px var(--pixel); text-transform: uppercase; }
.radar-subscribe-cta span { justify-self: end; font: 11px var(--mono); }
.radar-subscribe-cta:hover { filter: saturate(1.06) brightness(1.02); }
.subscribe-content h2 { margin: 0 0 6px; }
.subscribe-content p { margin: 0 0 10px; font-size: 12px; line-height: 1.35; }
.subscribe-content .radar-subscribe-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin: 0; padding: 8px; border: 2px inset #fff; background: #e7e2ce; }
.subscribe-content .radar-subscribe-form label { margin: 0; }
.subscribe-content .radar-subscribe-form input { width: 100%; min-height: 28px; }
.subscribe-content .radar-subscribe-form span { grid-column: 1 / -1; min-height: 16px; }
@media (max-width:760px){ .radar-subscribe-cta { grid-template-columns: 1fr; gap: 3px; } .radar-subscribe-cta span { justify-self: start; } }


/* Polsia-like login elements inside retro Login.app */
.app-window--login { width: min(430px, 92vw); }
.login-content--polsia { display: grid; gap: 12px; align-content: start; padding: 22px 24px; background: #fff; color: #111; font-family: var(--mono); user-select: text; }
.login-content--polsia .login-google-button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 8px 12px; border: 1px solid #111; background: #fff; color: #111; text-decoration: none; font: 500 14px Georgia, 'Times New Roman', serif; box-shadow: none; }
.google-mark { display: inline-grid; place-items: center; width: 18px; height: 18px; font: 700 17px Arial, sans-serif; color: #4285f4; }
.login-legal, .login-help, .login-signup { margin: 0; color: #888; text-transform: uppercase; letter-spacing: .05em; font: 10px/1.45 var(--mono); text-align: center; }
.login-legal a, .login-signup a { color: #222; text-decoration: underline; }
.login-or { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: #aaa; font: 10px var(--mono); letter-spacing: .08em; }
.login-or span { height: 1px; background: #ddd; }
.login-or em { font-style: normal; }
.login-email-form, .login-code-form { display: grid; gap: 9px; }
.login-content--polsia label { display: grid; gap: 5px; color: #444; text-transform: uppercase; letter-spacing: .06em; font: 10px var(--mono); }
.login-content--polsia input { min-height: 42px; padding: 8px 10px; border: 1px solid #111; background: #fff; color: #111; font: 14px var(--mono); }
.login-content--polsia button[type="submit"] { min-height: 42px; border: 1px solid #111; background: linear-gradient(180deg, #333, #050505); color: #fff; text-transform: uppercase; letter-spacing: .08em; font: 700 13px var(--mono); }
.login-content--polsia .auth-status { margin: 2px 0 0; border: 1px solid #ddd; background: #fafafa; color: #555; text-align: center; }
.login-content--polsia [data-auth-logout] { min-height: 32px; border: 1px solid #111; background: #eee; color: #111; text-transform: uppercase; font: 11px var(--mono); }
.login-content--polsia .login-status { text-align: center; color: #111; }

.login-content--google-only { min-height: 250px; align-content: center; }
.login-content--google-only .auth-status { margin-top: 8px; }


/* Start menu auth state */
.start-menu-user [data-start-auth-status] { max-width: 132px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.start-menu-user [data-start-auth-action] { white-space: nowrap; }
.login-content--google-only { min-height: 210px; align-content: center; }


/* Architecture v0.1: Kanban + Team */
.app-window--kanban { left: 7vw; top: 9vh; width: min(1120px, 88vw); height: min(700px, 84vh); }
.app-window--team { left: 18vw; top: 12vh; width: min(760px, 78vw); height: min(560px, 74vh); }
.kanban-content,
.team-content { padding: 10px; overflow: auto; background: #f7f4e9; }
.kanban-head,
.team-head { display: flex; justify-content: space-between; align-items: start; gap: 10px; margin: 0 0 8px; }
.kanban-head h2,
.team-head h2 { margin: 0; }
.kanban-head p { margin: 2px 0 0; font-size: 11px; }
.kanban-filters { display: flex; gap: 6px; align-items: center; }
.kanban-filters select,
.kanban-filters button,
.team-head button { border: 2px outset #fff; background: #c0c0c0; padding: 5px 8px; font: 12px var(--mono); color: #111; }
.kanban-filters select { border-style: inset; background: #fff; }
.kanban-board { display: grid; grid-template-columns: repeat(5, minmax(160px, 1fr)); gap: 8px; }
.kanban-board section { min-width: 0; border: 2px inset #fff; background: #e7e2ce; padding: 6px; }
.kanban-board h3 { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; }
.kanban-card,
.team-card { margin: 0 0 7px; padding: 7px; border: 2px solid; border-color: #fff #777 #777 #fff; background: #fff; box-shadow: 1px 1px 0 #999; }
.kanban-card strong,
.team-card strong { display: block; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.kanban-card p,
.team-card p { margin: 5px 0; font-size: 11px; line-height: 1.35; }
.kanban-card span,
.team-card span { display: block; color: #333; font-size: 10px; margin-top: 3px; }
.kanban-card-actions { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 6px; }
.kanban-card-actions button,
.team-card button { border: 2px outset #fff; background: #c0c0c0; padding: 2px 5px; font: 10px var(--mono); color: #111; }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
@media (max-width: 1000px) { .kanban-board { grid-template-columns: repeat(2, minmax(0,1fr)); } .team-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .kanban-board { grid-template-columns: 1fr; } .kanban-head, .team-head, .kanban-filters { display: grid; } }


/* Lists v0.3 */
.app-window--playbooks { left: 12vw; top: 11vh; width: min(860px, 80vw); height: min(620px, 78vh); }
.app-window--tables { left: 6vw; top: 6vh; width: min(1180px, 90vw); height: min(760px, 86vh); }
.playbooks-content { padding: 10px; overflow: auto; background: #f7f4e9; }
.tables-content { padding: 0; overflow: hidden; background: #f6f4ed; }
.list-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 8px; }
.tables-content > .list-head { margin: 0; padding: 10px 12px; border-bottom: 1px solid #d8d2c4; background: #fbfaf6; }
.list-head h2 { margin: 0; }
.list-head button,
.table-edit-form button { border: 1px solid #b8b0a4; border-radius: 7px; background: #fff; padding: 6px 10px; font: 12px var(--mono); color: #111; box-shadow: 0 1px 0 rgba(0,0,0,.05); }
.list-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.list-grid--tables { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.list-group { border: 1px solid #d8d2c4; border-radius: 10px; background: #fbfaf6; padding: 8px; min-width: 0; }
.list-group h3 { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; }
.list-card { margin: 0 0 7px; padding: 8px; border: 1px solid #ddd5c9; border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.list-card strong { display: block; font-size: 12px; line-height: 1.25; }
.list-card p { margin: 4px 0; font-size: 11px; line-height: 1.35; }
.list-card span { display: block; font-size: 10px; color: #555; }
.list-links { display: flex; gap: 8px; margin-top: 4px; }
.list-links a { font-size: 11px; color: #000080; }
.table-edit-form { display: grid; grid-template-columns: 120px repeat(4, minmax(0,1fr)) auto; gap: 6px; margin: 0; padding: 10px 12px; border-bottom: 1px solid #d8d2c4; background: #f1eee6; }
.table-edit-form textarea { grid-column: 1 / -2; min-height: 44px; resize: vertical; }
.table-edit-form input,
.table-edit-form select,
.table-edit-form textarea { border: 1px solid #cfc7ba; border-radius: 7px; background: #fff; padding: 7px; font: 12px var(--mono); min-width: 0; }
.table-edit-form span { align-self: center; font-size: 11px; }
.attio-shell { height: calc(100% - 118px); display: grid; grid-template-columns: 190px minmax(0, 1fr); min-height: 320px; border-top: 1px solid #e1dbd0; }
.attio-sidebar { background: #ede9df; border-right: 1px solid #d8d2c4; padding: 10px; overflow: auto; }
.attio-sidebar-title { font: 700 11px var(--mono); color: #6d665d; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 8px; }
.attio-list-tab { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 4px; padding: 8px 9px; border: 0; border-radius: 8px; background: transparent; color: #26221d; font: 12px var(--mono); text-align: left; }
.attio-list-tab:hover { background: rgba(255,255,255,.65); }
.attio-list-tab.is-active { background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.attio-list-tab em { font-style: normal; color: #777067; font-size: 11px; }
.attio-main { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); background: #fffdf8; }
.attio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border-bottom: 1px solid #e1dbd0; background: #fffdf8; }
.attio-toolbar strong { display: block; font-size: 14px; }
.attio-toolbar span { display: block; color: #746d64; font-size: 11px; }
.attio-toolbar input { width: min(260px, 44vw); border: 1px solid #d4cbbd; border-radius: 8px; padding: 7px 9px; font: 12px var(--mono); background: #fff; }
.attio-table-wrap { overflow: auto; min-height: 0; }
.attio-table { width: 100%; border-collapse: separate; border-spacing: 0; font: 12px var(--mono); color: #201d19; }
.attio-table th { position: sticky; top: 0; z-index: 1; background: #f7f4ed; color: #7a7268; font-weight: 700; text-align: left; border-bottom: 1px solid #ded7cb; padding: 8px 10px; }
.attio-table td { vertical-align: top; border-bottom: 1px solid #eee8de; padding: 8px 10px; line-height: 1.35; }
.attio-table tr:hover td { background: #faf7ef; }
.attio-table tr[data-row-view] { cursor: pointer; }
.attio-table tr[data-row-view]:focus-within td,
.attio-table tr[data-row-view]:active td { background: #f4eddf; }
.attio-name strong { display: block; font-size: 12px; }
.attio-name small { display: block; margin-top: 2px; color: #8a8176; }
.attio-name .attio-search-highlight { color: #4d4538; background: #fff5c9; border-left: 2px solid #d1a71f; padding: 2px 0 2px 6px; max-width: 420px; }
.attio-pill { display: inline-block; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #594f45; background: #f0ebe1; border: 1px solid #ded6c9; border-radius: 999px; padding: 3px 7px; }
.attio-links { white-space: nowrap; }
.attio-links a { color: #000080; margin-right: 10px; }
.app-window--lists { left: 8vw; top: 8vh; width: min(1120px, 90vw); height: min(760px, 84vh); }
.app-window--opensource { left: 11vw; top: 12vh; width: min(760px, 78vw); height: min(580px, 74vh); }
.app-window--startups { left: 14vw; top: 14vh; width: min(760px, 78vw); height: min(580px, 74vh); }
.app-window--founders { left: 17vw; top: 16vh; width: min(900px, 84vw); height: min(680px, 78vh); }
.unified-lists-content { padding: 10px; overflow: hidden; background: #f7f4e9; display: flex; flex-direction: column; min-height: 0; }
.unified-lists-shell { flex: 1; min-height: 0; height: calc(100% - 42px); }
.unified-list-panel { min-height: 0; height: 100%; }
.unified-list-panel.public-list-content { padding: 10px; }
.unified-list-panel.media-catalog-content { padding: 10px; }
.public-list-content { padding: 10px; overflow: auto; background: #f7f4e9; display: flex; flex-direction: column; min-height: 0; }
.list-grid--public { grid-template-columns: 1fr; }
@media (max-width: 1000px) {
  .list-grid, .list-grid--tables, .table-edit-form { grid-template-columns: 1fr; }
  .table-edit-form textarea { grid-column: auto; }
  .attio-shell { grid-template-columns: 1fr; height: auto; }
  .attio-sidebar { display: flex; gap: 6px; border-right: 0; border-bottom: 1px solid #d8d2c4; }
  .attio-sidebar-title { display: none; }
  .attio-list-tab { width: auto; white-space: nowrap; }
}

.item-modal { position: fixed; z-index: 7000; inset: 0; display: grid; place-items: center; background: rgba(0,0,0,.34); }
.item-modal[hidden] { display: none; }
.item-modal-card { width: min(560px, calc(100vw - 32px)); max-height: min(720px, calc(100vh - 48px)); overflow: auto; background: #fffdf8; border: 1px solid #cfc7ba; border-radius: 14px; box-shadow: 0 24px 80px rgba(0,0,0,.34); padding: 18px; font: 13px var(--mono); color: #201d19; position: relative; }
.item-modal-card > button { position: absolute; right: 10px; top: 10px; border: 1px solid #cfc7ba; border-radius: 8px; background: #fff; }
.item-modal-card img { width: 72px; height: 72px; border-radius: 14px; object-fit: cover; float: left; margin: 0 14px 10px 0; background: #eee; }
.item-modal-card h2 { margin: 0 28px 8px 0; font-size: 18px; }
.item-modal-tags { color: #746d64; font-size: 11px; }
.attio-links button { border: 1px solid #d4cbbd; border-radius: 7px; background: #fff; color: #111; font: 11px var(--mono); margin-right: 8px; padding: 4px 7px; }

.inline-list-edit { display: grid; grid-template-columns: 1fr 1.5fr 1fr 1fr 1fr 1fr auto auto; gap: 6px; align-items: center; padding: 8px; border-bottom: 1px solid #e1d8ca; background: #fffaf0; }
.inline-list-edit input { min-width: 0; border: 1px solid #d7cdbc; border-radius: 7px; background: #fff; padding: 6px 7px; font: 11px var(--mono); }
.inline-list-edit button { border: 1px solid #b9ad9a; border-radius: 7px; background: #f4eadb; padding: 6px 9px; font: 11px var(--mono); }
.inline-list-edit span { font-size: 11px; color: #776d61; }
.start-menu-user--guest img { filter: grayscale(1); background: #ded6ca; }

.item-page--list { max-width: 1180px; margin: 40px auto; padding: 24px; background: #fffaf0; border: 1px solid #d8cdbd; color: #1d1914; font: 13px var(--mono); }
.seo-list-table { width: 100%; border-collapse: collapse; background: #fff; }
.seo-list-table th, .seo-list-table td { border-bottom: 1px solid #e4dccf; padding: 8px; text-align: left; vertical-align: top; }
.seo-list-table th { position: sticky; top: 0; background: #f5eee2; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.seo-list-name { min-width: 190px; }
.seo-list-name img { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; vertical-align: middle; margin-right: 8px; }
.seo-list-name a { color: #111; font-weight: 700; }
.seo-list-name small { display: block; margin-top: 3px; color: #7a7165; }
.item-links { display: flex; flex-wrap: wrap; gap: 6px; }
.item-links a { border: 1px solid #d6cbbb; border-radius: 999px; padding: 3px 7px; background: #fff; color: #2a241d; font-size: 11px; text-decoration: none; }
.signal-pill { display: inline-block; min-width: 22px; text-align: center; border-radius: 999px; border: 1px solid #d2c6b3; background: #f7efe3; padding: 2px 7px; }
.item-page--detail { max-width: 760px; margin: 48px auto; padding: 28px; background: #fffaf0; border: 1px solid #d8cdbd; color: #1d1914; font: 14px var(--mono); }
.item-page-photo { width: 88px; height: 88px; border-radius: 18px; object-fit: cover; float: left; margin: 0 18px 14px 0; background: #eee; }
.item-facts { clear: both; display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 8px; padding: 0; margin: 14px 0; list-style: none; }
.item-facts li { border: 1px solid #e0d7c9; border-radius: 10px; padding: 8px; background: #fff; }
.item-facts strong { display: block; font-size: 10px; text-transform: uppercase; color: #776b5e; }
.item-facts span { display: block; margin-top: 4px; }
.entity-relation-pills { clear: both; display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.entity-relation-pills--inline { clear: none; margin: 0; max-width: 280px; }
.entity-radar-signals { clear: both; margin: 18px 0 0; padding-top: 12px; border-top: 1px solid #e0d6c7; }
.entity-radar-signals h2,
.entity-radar-signals h3 { margin: 0 0 6px; color: #000080; font-size: 15px; }
.entity-radar-signals p { margin: 0 0 8px; font-size: 12px; }
.entity-radar-signals ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.entity-radar-signals li { display: grid; gap: 2px; padding: 6px; border: 1px solid #e0d6c7; background: #fff; font-size: 12px; line-height: 1.35; }
.entity-radar-signals li a { color: #000080; }
.entity-radar-signals li span,
.entity-radar-signals li small { color: #665e55; font-size: 10px; }


.public-list-content > .list-head { flex: 0 0 auto; }
.attio-shell--single { display: block; width: 100%; flex: 1 1 auto; min-height: 0; }
.attio-shell--single .attio-main { width: 100%; min-width: 0; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.attio-shell--single .attio-table-wrap { min-height: 220px; }
.attio-shell--single .attio-toolbar { grid-template-columns: minmax(140px, auto) minmax(180px, 360px); }
.attio-more { margin: 8px 0 0; color: #6f675d; font-size: 11px; }
.attio-load-error { color: #8a261f; }


.app-window--entity { left: 18vw; top: 16vh; width: min(620px, 82vw); height: min(520px, 72vh); }
.entity-window-content { overflow: auto; font: 13px var(--mono); color: #201d19; }
.entity-window-content h2 { margin: 0 0 8px; font-size: 18px; }
.entity-window-content p { line-height: 1.45; }
.entity-window-photo { width: 78px; height: 78px; border-radius: 16px; object-fit: cover; float: left; margin: 0 14px 10px 0; background: #eee; border: 1px solid #d8d0c4; }
.app-window--entity .item-links { clear: both; margin-top: 12px; }
.app-window--entity .item-modal-tags { clear: both; }


.radar-post a { color: #000080; text-decoration: underline; }
.radar-source-link { margin-left: auto; color: #000080; font-weight: 700; }
.radar-card-link { cursor: default; }


.signal-pill--button { cursor: pointer; font: 11px var(--mono); color: #000080; }
.signal-pill--button:hover { text-decoration: underline; background: #fff7d6; }
.radar-filter { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 5px 7px; border: 1px solid #d4c8b8; background: #fff8dc; font: 11px var(--mono); }
.radar-filter button { margin-left: auto; border: 1px solid #777; background: #c0c0c0; font: 11px var(--mono); }


.desktop-icon--events { left: 624px; top: 124px; }
.app-window--events { left: 16vw; top: 16vh; width: min(760px, 78vw); height: min(560px, 72vh); }

/* Visual polish v1 — premium retro icon and mobile chrome treatment */
:root {
  --label: #075f64;
  --chrome: #d4d0c6;
  --chrome-light: #fffaf0;
  --chrome-mid: #ded7ca;
  --chrome-dark: #5c574f;
  --active: #07156e;
}

.desktop {
  background:
    radial-gradient(circle at 18% 12%, rgba(255,245,214,.32), transparent 24%),
    radial-gradient(circle at 74% 22%, rgba(38,83,55,.20), transparent 30%),
    linear-gradient(90deg, rgba(247,244,233,.96) 0%, rgba(247,244,233,.56) 24%, rgba(247,244,233,.26) 52%, rgba(247,244,233,.82) 100%),
    linear-gradient(180deg, rgba(14,34,22,.22) 0%, rgba(14,34,22,.10) 42%, rgba(14,34,22,.34) 100%),
    url('/assets/img/founderos-desktop-illustration.svg') center / cover no-repeat,
    #cbbf9f;
}
.desktop::after {
  background:
    linear-gradient(rgba(255,255,255,.12), transparent 38%, rgba(0,0,0,.10)),
    radial-gradient(circle at center, transparent 0 45%, rgba(0,0,0,.16) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px);
}

.desktop-icon {
  gap: 6px;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.20));
}
.app-icon {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 13px;
  background:
    linear-gradient(145deg, rgba(255,252,238,.96), rgba(205,197,178,.92));
  border: 1px solid rgba(255,255,255,.86);
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.95),
    inset -1px -1px 0 rgba(80,72,60,.28),
    0 0 0 1px rgba(25,23,20,.22),
    4px 5px 0 rgba(0,0,0,.22);
  overflow: hidden;
}
.app-icon::before {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 9px;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.84), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(0,0,0,.05));
  pointer-events: none;
  z-index: 1;
}
.app-icon img {
  position: relative;
  z-index: 2;
  width: 72%;
  height: 72%;
  object-fit: contain;
  margin: 14%;
  image-rendering: auto;
  filter: saturate(.94) contrast(1.08) drop-shadow(0 1px 0 rgba(255,255,255,.45));
}
.desktop-icon--stakhgpt .app-icon img,
.desktop-icon--instagram .app-icon img,
.desktop-icon--cargofy .app-icon img,
.desktop-icon--obrii .app-icon img,
.desktop-icon--londi .app-icon img,
.desktop-icon--linkedin .app-icon img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}
.desktop-icon--game .app-icon img {
  width: 74%;
  height: 74%;
  margin: 13%;
}
.icon-label {
  max-width: 88px;
  border-radius: 3px;
  padding: 2px 5px 3px;
  background: rgba(3,89,94,.94);
  box-shadow: 1px 1px 0 rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow: 1px 1px 0 rgba(0,0,0,.75);
}
.desktop-icon:hover .app-icon,
.desktop-icon:focus-visible .app-icon {
  transform: translateY(-1px);
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.95),
    inset -1px -1px 0 rgba(80,72,60,.28),
    0 0 0 1px rgba(255,255,255,.82),
    5px 6px 0 rgba(0,0,0,.28);
}

.app-window,
.start-menu {
  background: linear-gradient(180deg, #d9d4ca, #bfb8aa);
  border-width: 2px;
  border-color: #fff8e8 #5f594f #5f594f #fff8e8;
  box-shadow: 5px 6px 0 rgba(0,0,0,.30), 0 0 0 1px rgba(0,0,0,.18);
}
.window-titlebar,
.start-menu-title {
  background: linear-gradient(90deg, #07156e 0%, #174d9b 54%, #24a3b7 100%);
  text-shadow: 1px 1px 0 rgba(0,0,0,.7);
}
.window-controls button,
.start-menu button,
.start-button {
  border-color: #fff8e8 #625d54 #625d54 #fff8e8;
}
.start-menu-user {
  background: rgba(255,250,232,.38);
}
.start-menu-user img {
  background: #f4eddd;
  border-color: #fff8e8 #736c60 #736c60 #fff8e8;
}
.start-menu-body {
  background: rgba(255,250,232,.18);
}
.start-menu-column strong {
  color: #464035;
  letter-spacing: .08em;
}

@media (max-width: 760px) {
  .founder-os { min-height: 100dvh; }
  .desktop {
    overflow: hidden;
    background-position: 52% 50%;
  }
  .desktop-icons {
    left: 14px;
    right: 14px;
    top: 16px;
    bottom: 60px;
    grid-template-columns: repeat(3, minmax(78px, 1fr));
    grid-auto-rows: 82px;
    gap: 10px 7px;
    padding: 4px 0 18px;
  }
  .desktop-icon {
    min-height: 78px;
    font-size: 11px;
  }
  .app-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
  }
  .icon-label {
    max-width: 82px;
    font-size: 11px;
    line-height: 1.05;
  }
  .start-menu {
    width: min(360px, calc(100vw - 18px));
    left: 9px !important;
    bottom: calc(42px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .start-menu-title {
    min-height: 36px;
    padding: 8px 10px;
  }
  .start-menu-user {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 9px;
  }
  .start-menu-user img { width: 36px; height: 36px; }
  .start-menu-user strong { font-size: 12px; }
  .start-menu-user span { font-size: 11px; color: #34302a; }
  .start-menu-body {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .start-menu button,
  .start-menu a {
    min-height: 34px;
  }
  .app-window {
    box-shadow: 4px 5px 0 rgba(0,0,0,.32), 0 0 0 1px rgba(0,0,0,.18);
  }
  .taskbar {
    min-height: calc(38px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* Audit polish — deterministic desktop icon alignment */
@media (min-width: 761px) {
  .desktop-icons {
    position: absolute;
    left: 24px;
    top: 24px;
    right: 24px;
    bottom: 56px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 92px));
    grid-auto-rows: 82px;
    gap: 16px 8px;
    align-content: start;
    justify-content: start;
    overflow: hidden;
    padding: 0;
  }
  .desktop-icon {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 92px;
    min-width: 0;
    justify-self: center;
  }
  .icon-label {
    max-width: 88px;
  }
}


.attio-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0 0;
  color: rgba(31, 30, 24, 0.72);
  font-size: 12px;
}
.attio-more button[data-attio-load-more] {
  border: 1px solid rgba(41, 36, 28, 0.42);
  background: #f6efdf;
  color: #201b14;
  box-shadow: inset 1px 1px #fff8e7, inset -1px -1px rgba(48, 39, 27, 0.25);
  padding: 5px 10px;
  font: inherit;
  cursor: pointer;
}
.attio-more button[data-attio-load-more]:hover { background: #fff6df; }
.attio-more button[data-attio-load-more][disabled] { cursor: wait; opacity: .68; }

.contentagent-content {
  min-width: min(820px, calc(100vw - 28px));
}
.contentagent-head h2 {
  margin: 0 0 6px;
}
.contentagent-grid article {
  min-height: 104px;
}
.contentagent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.contentagent-rules {
  border: 1px solid rgba(0,0,0,.22);
  background: rgba(255,255,255,.42);
  padding: 10px 12px;
}
.contentagent-rules h3 {
  margin: 0 0 6px;
  font-size: 13px;
  text-transform: uppercase;
}
.contentagent-rules ul {
  margin: 0;
  padding-left: 18px;
}
.contentagent-rules li {
  margin: 4px 0;
}
