/* Shared form controls. Remove Safari's compact native select bezel while
   retaining the browser's accessible keyboard and touch option picker. */
:root select {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 40px 10px 12px;
  border: 1px solid var(--line-strong, #c9c5ce);
  border-radius: 8px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%2369545e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  color: var(--ink);
  font-family: inherit;
  font-weight: 500;
  line-height: 1.35;
  text-overflow: ellipsis;
  cursor: pointer;
}

:root select:hover:not(:disabled) { border-color: #9c7a86; }
:root select:focus-visible {
  border-color: var(--blue);
  outline: 3px solid #ac687950;
  outline-offset: 2px;
  box-shadow: none;
}
:root select:disabled {
  background-color: #f2f0f2;
  color: #77717a;
  cursor: not-allowed;
  opacity: 1;
}
:root select:is([multiple], [size]:not([size="0"]):not([size="1"])) {
  min-height: 120px;
  padding: 8px 12px;
  background-image: none;
}
:root select option, :root select optgroup { color: var(--ink); background: #fff; }

/* Keep compact scenario selectors legible without placing text under the arrow. */
:root .savings-scenario select { min-height: 44px; padding: 10px 36px 10px 10px; }
:root :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), textarea) {
  border-radius: 8px;
}
.account-section :is(#stream-controls, #pack-controls):not(:empty) { margin-top: 20px; }

@media (max-width: 760px) {
  :root select { font-size: 16px; }
}
@media (forced-colors: active) {
  :root select { -webkit-appearance: auto; appearance: auto; background-image: none; }
}

/* Release identity is readable on small screens and keyboard accessible. */
.build-info { margin: 16px 0 0; color: var(--muted, #6c6268); font-size: 12px; line-height: 1.6; text-align: left; }
.build-info summary { cursor: pointer; padding: 12px 0; min-height: 44px; box-sizing: border-box; }
.build-info summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 4px; }
.build-info dl { margin: 0; padding: 0 0 12px; }
.build-info dt { font-weight: 600; margin-top: 6px; }
.build-info dd { margin: 0; overflow-wrap: anywhere; user-select: text; }
.site-footer > .build-info { max-width: 1200px; margin-left: auto; margin-right: auto; }

.sidebar { overflow-y: auto; }
