:root {
  color-scheme: dark;
  font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: #f6ead8;
  background: #182822;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0;
  min-height: 100dvh;
  background: radial-gradient(ellipse at 50% 5%, #3a5947, transparent 70%);
}
#login {
  width: min(430px, calc(100% - 32px));
  margin: max(22px, 7vh) auto 22px;
  padding: clamp(18px, 5vw, 32px);
  border: 1px solid #97755d;
  box-shadow: 0 5px #1b1715, 0 14px 50px #101b1680;
  background: #362c2a;
}
h1 { margin: 0 0 8px; font-size: 28px; }
p { line-height: 1.55; margin: 0 0 16px; }
#login > p, .note, a { color: #e1ccb6; }
.note, a { font-size: 13px; }
#modes { display: flex; gap: 8px; margin-bottom: 16px; }
label { display: block; font-size: 14px; }
input:not([type="range"]) {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #987c67;
  border-radius: 3px;
  background: #211e1c;
  color: inherit;
  font: inherit;
  font-size: 16px;
}
form { display: grid; gap: 13px; }
.code-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
button {
  padding: 8px 11px;
  font: inherit;
  font-size: 14px;
  color: inherit;
  border: 1px solid #a78a70;
  border-radius: 3px;
  background: #4c3d36;
  cursor: pointer;
}
button:disabled { opacity: .63; cursor: default; }
button[aria-pressed="true"], .primary { color: #251d16; background: #eed1a0; }
#login-status { min-height: 23px; margin: 10px 0 5px; }
#retry { margin-bottom: 9px; }
#slider { padding: 9px; border: 1px solid #a78a70; }
#drag { display: block; width: 100%; height: 36px; accent-color: #eed1a0; }
#play { height: 100dvh; display: flex; flex-direction: column; }
.account-bar {
  display: flex; justify-content: flex-end; align-items: center; gap: 8px;
  padding: 5px 10px; background: #302821; font-size: 13px;
}
.account-bar button { padding: 4px 8px; white-space: nowrap; }
#sync-status { margin-right: auto; }
iframe { display: block; flex: 1; min-height: 0; width: 100%; border: 0; }
dialog { color: inherit; background: #362c2a; border: 1px solid #a78a70; max-width: min(410px, calc(100% - 32px)); }
dialog::backdrop { background: #0e1512bb; }
dialog h2 { margin: 0 0 12px; }
.conflict-actions { display: flex; flex-wrap: wrap; gap: 8px; }
