/* The tunamp setup page: a Windows 98 desktop, like tannedtuna.com. System fonts only, on purpose. */
:root {
  --face: #c0c0c0;
  --hi: #ffffff;
  --lo: #808080;
  --dark: #0a0a0a;
  --navy: #000080;
}
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
body {
  margin: 0;
  min-height: 100dvh;
  background: #008080;
  color: var(--dark);
  font: 14px/1.45 Tahoma, 'MS Sans Serif', Verdana, Geneva, sans-serif;
}
p {
  margin: 0 0 0.7em;
}
a {
  color: #0000ee;
}
.desk {
  display: grid;
  gap: 22px;
  justify-items: center;
  max-width: 600px;
  margin: 0 auto;
  padding: 40px 16px;
}
.win {
  width: 100%;
  padding: 3px;
  background: var(--face);
  border: 2px solid;
  border-color: var(--hi) var(--dark) var(--dark) var(--hi);
  box-shadow: inset -1px -1px 0 var(--lo), inset 1px 1px 0 #dfdfdf, 4px 4px 0 rgba(0, 0, 0, 0.35);
}
.bar {
  padding: 3px 7px;
  background: linear-gradient(90deg, var(--navy), #1084d0);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.body {
  padding: 14px 14px 10px;
}
.big {
  font: 700 20px/1.2 Tahoma, sans-serif;
}
.fine {
  color: #333;
  font-size: 12px;
}
.error {
  padding: 6px 8px;
  border: 1px solid #a00000;
  background: #ffe8e8;
  color: #7a0000;
}
.field {
  display: flex;
  gap: 6px;
  margin: 0 0 6px;
}
.field input {
  flex: 1;
  min-width: 0;
  padding: 4px 6px;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
  background: #fff;
  font: 13px 'Courier New', Courier, monospace;
}
.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.btn {
  display: inline-block;
  min-width: 84px;
  padding: 5px 14px;
  border: 2px solid;
  border-color: var(--hi) var(--dark) var(--dark) var(--hi);
  box-shadow: inset -1px -1px 0 var(--lo);
  background: var(--face);
  color: var(--dark);
  font: 13px Tahoma, sans-serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.btn.default {
  outline: 1px solid var(--dark);
  font-weight: 700;
}
.btn:hover {
  background: #d4d4d4;
}
.btn:active {
  border-color: var(--dark) var(--hi) var(--hi) var(--dark);
  box-shadow: none;
}
:focus-visible {
  outline: 2px dotted var(--dark);
  outline-offset: 2px;
}
/* The widget as it looks in OBS: on a checkerboard, so it reads as transparent. */
.preview {
  display: grid;
  place-items: center;
  min-height: 170px;
  margin-bottom: 8px;
  padding: 10px;
  overflow: hidden;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
  background: repeating-conic-gradient(#3a3a3a 0 25%, #2e2e2e 0 50%) 0 0 / 20px 20px;
}
.preview .tunamp {
  max-width: 100%;
}
.toast {
  position: fixed;
  left: 50%;
  bottom: 18px;
  translate: -50%;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid var(--dark);
  background: #ffffe1;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.35);
}

/* README.txt */
.notepad {
  margin-top: 3px;
  background: #fff;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
}
.head {
  margin: 1em 0 0.4em;
  font-weight: 700;
  text-decoration: underline;
}
.steps {
  margin: 0 0 0.7em;
  padding-left: 1.4em;
}
.steps li {
  margin-bottom: 0.4em;
}

/* the style picker: one card per style, with a sample of it */
.styles {
  display: grid;
  gap: 10px;
}
.style-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  padding: 8px;
  border: 2px solid;
  border-color: var(--hi) var(--dark) var(--dark) var(--hi);
  background: var(--face);
  cursor: pointer;
}
.style-card:hover {
  background: #d4d4d4;
}
.style-card[aria-checked='true'] {
  border-color: var(--navy);
  outline: 2px solid var(--navy);
  background: #dfe6f5;
}
.style-sample {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  margin-bottom: 6px;
  padding: 10px;
  overflow: hidden;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
  background: repeating-conic-gradient(#3a3a3a 0 25%, #2e2e2e 0 50%) 0 0 / 20px 20px;
}
.style-sample .tunamp {
  max-width: 100%;
  animation: none;
}
.style-name {
  font-weight: 700;
}
.style-card[aria-checked='true'] .style-name::after {
  content: '  ✓ selected';
  color: var(--navy);
}
.style-blurb {
  color: #333;
  font-size: 12px;
}

/* step 1: making the Spotify app */
.steps ul {
  margin: 0.3em 0;
  padding-left: 1.2em;
}
.field.inline {
  margin: 4px 0 2px;
}
.app-form {
  display: grid;
  gap: 8px;
  margin: 10px 0;
  padding: 10px;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
}
.app-form label {
  display: grid;
  gap: 2px;
  font-weight: 700;
}
.app-form input,
.field input {
  min-width: 0;
  padding: 4px 6px;
  border: 2px solid;
  border-color: var(--lo) var(--hi) var(--hi) var(--lo);
  background: #fff;
  font: 13px 'Courier New', Courier, monospace;
}
.app-form .buttons {
  margin: 4px 0 0;
}
.btn:disabled {
  color: var(--lo);
  cursor: progress;
}

.bar-note {
  font-weight: 400;
  opacity: 0.85;
}
