* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: -apple-system, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #fff;
  color: #1d1d1f;
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 80px 32px 48px;
}

h1 {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.5px;
  margin-bottom: 40px;
}

.controls {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 40px;
}

input[type="text"] {
  font-family: inherit;
  font-size: 15px;
  padding: 10px 16px;
  border: 1px solid #d2d2d7;
  border-radius: 10px;
  outline: none;
  width: 140px;
  transition: border-color 0.2s;
}

input[type="text"]:focus {
  border-color: #1d1d1f;
}

select {
  font-family: inherit;
  font-size: 15px;
  padding: 10px 16px;
  border: 1px solid #d2d2d7;
  border-radius: 10px;
  background: #fff;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}

select:focus {
  border-color: #1d1d1f;
}

button {
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  padding: 10px 24px;
  border: none;
  border-radius: 10px;
  background: #1d1d1f;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
}

button:hover { opacity: 0.85; }
button:active { opacity: 0.7; }

.toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #86868b;
  cursor: pointer;
  user-select: none;
}

.toggle input {
  accent-color: #1d1d1f;
  cursor: pointer;
}

.layout {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.chart-area {
  flex: 1;
  min-width: 0;
}

.chart-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
}

.chart-wrap canvas {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}

.spread {
  margin-top: 24px;
  font-size: 15px;
  color: #86868b;
  min-height: 22px;
}

.spread strong {
  color: #1d1d1f;
  font-weight: 600;
}

.watchlist {
  width: 180px;
  flex-shrink: 0;
}

.watchlist h2 {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #86868b;
  margin-bottom: 16px;
}

.watchlist label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  padding: 8px 0;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f7;
  transition: color 0.15s;
}

.watchlist label:hover {
  color: #0071e3;
}

.watchlist input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #1d1d1f;
  cursor: pointer;
}

.error {
  margin-top: 16px;
  font-size: 14px;
  color: #ff3b30;
}
