html, body { height: 100%; margin: 0; }
body {
  font-family: "Shantell Sans", ui-rounded, "Segoe UI", system-ui,
    -apple-system, sans-serif;
}
.font-brand {
  font-family: "Caveat", ui-serif, cursive;
  font-weight: 700;
}

.tab-btn.active {
  color: #282828;
  border-bottom-color: #cc241d;
}

#stdout {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  line-height: 1.55;
}

button:focus { outline: none; }
button:focus-visible { outline: 2px solid #cc241d; outline-offset: 2px; }

.kora-awaiting-input {
  border-color: #d79921 !important;
  box-shadow: 0 0 0 3px rgba(215, 153, 33, 0.2);
}
.kora-awaiting-input::placeholder {
  color: #b57614;
}

.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

.file-picker-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #3c3836;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 0.15s;
}
.file-picker-btn:hover { background: rgba(60, 56, 54, 0.06); }
.fp-caret { font-size: 9px; color: #928374; }

.file-picker-menu {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  z-index: 30;
  min-width: 190px;
  margin: 0;
  padding: 5px;
  list-style: none;
  background: #fefaeb;
  border: 1px solid #ebdbb2;
  border-radius: 11px;
  box-shadow: 0 10px 28px rgba(40, 20, 14, 0.16);
  max-height: 65vh;
  overflow-y: auto;
}
.file-picker-menu.hidden { display: none; }

.file-picker-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px 9px;
  border: none;
  border-radius: 7px;
  background: transparent;
  color: #3c3836;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.file-picker-item:focus-visible { outline: none; }
.file-picker-item:hover,
.file-picker-item.focused { background: rgba(60, 56, 54, 0.1); }
.file-picker-item.active { font-weight: 600; }
.file-picker-item .fp-name { flex: 1; white-space: nowrap; }
.file-picker-item .fp-dirty { color: #b57614; }
.file-picker-item .fp-check { color: #79740e; font-size: 11px; }

.dark .tab-btn.active { color: #fefaeb; }
.dark .file-picker-btn { color: #ebdbb2; }
.dark .file-picker-btn:hover { background: rgba(235, 219, 178, 0.08); }
.dark .file-picker-menu {
  background: #282828;
  border-color: #3c3836;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
}
.dark .file-picker-item { color: #ebdbb2; }
.dark .file-picker-item:hover,
.dark .file-picker-item.focused { background: rgba(235, 219, 178, 0.1); }
.dark .file-picker-item .fp-dirty { color: #d79921; }
.dark .file-picker-item .fp-check { color: #b8bb26; }
