/* Composer textarea (.ap-composer-input, built in uiManager.js's
   createComposer) — kills the browser's native blue focus outline/ring
   and replaces it with APComposer.py's own green instead. Can't be done
   via the inline style APComposer.py hands to createComposer, since
   inline styles have no :focus pseudo-state — this is the one piece of
   the composer's look that has to live in real CSS rather than a style
   dict, so it gets its own small file instead of the generic engine
   src/engine/ui.css. */
.ap-composer-input {
  outline: none;
  /* Opts back into text selection — ui.css's html/body rule turns it
     off globally (game-like UI, not a document), but this is actual
     code the student is editing/copying. */
  user-select: text;
  -webkit-user-select: text;
  -webkit-touch-callout: default;
  /* Paired with the wrap="off" attribute uiManager.js's createComposer
     sets on this element: long lines stay on one row instead of
     soft-wrapping (which broke code indentation), and this lets the box
     scroll horizontally to reach the rest of the line instead of just
     clipping it. */
  white-space: pre;
  overflow: auto;
}
.ap-composer-input:focus {
  outline: none;
  /* !important because APComposer.py sets `border` inline (a static,
     non-:focus-aware value) — an inline declaration otherwise beats any
     stylesheet selector, so a plain border-color rule here would just be
     dropped rather than override it on focus. Keep in sync with
     APComposer.py's _GREEN. */
  border-color: #39e673 !important;
}

/* Composer scrollbars (textarea + the toolbar's button row, scoped to
   the composer's own default panel IDs so this doesn't bleed into
   unrelated .ap-ui-row/.ap-ui-panel instances elsewhere in the engine)
   — thin green thumb over a transparent track, matching the composer's
   own green (.ap-composer-input's focus border / caret / text color)
   instead of the browser's default scrollbar. */
.ap-composer-input,
#pw_composer_tools .ap-ui-row {
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: #39e673 transparent;
}
.ap-composer-input::-webkit-scrollbar,
#pw_composer_tools .ap-ui-row::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.ap-composer-input::-webkit-scrollbar-track,
#pw_composer_tools .ap-ui-row::-webkit-scrollbar-track {
  background: transparent;
}
.ap-composer-input::-webkit-scrollbar-thumb,
#pw_composer_tools .ap-ui-row::-webkit-scrollbar-thumb {
  background-color: #39e673;
  border-radius: 4px;
}
.ap-composer-input::-webkit-scrollbar-thumb:hover,
#pw_composer_tools .ap-ui-row::-webkit-scrollbar-thumb:hover {
  background-color: #6dffa8;
}
