.sdvx-score-desk {
  --sdvxsd-bg: #090b17;
  --sdvxsd-panel: #11162a;
  --sdvxsd-panel-soft: #171d35;
  --sdvxsd-line: rgba(177, 195, 255, 0.18);
  --sdvxsd-text: #f5f7ff;
  --sdvxsd-muted: #aeb8d6;
  --sdvxsd-cyan: #56e4ff;
  --sdvxsd-pink: #ff5cca;
  --sdvxsd-yellow: #ffe165;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 1040px;
  margin: 24px auto;
  overflow: hidden;
  border: 1px solid var(--sdvxsd-line);
  border-radius: 24px;
  color: var(--sdvxsd-text);
  background:
    radial-gradient(circle at 85% 0%, rgba(255, 92, 202, 0.16), transparent 34%),
    radial-gradient(circle at 10% 8%, rgba(86, 228, 255, 0.13), transparent 30%),
    var(--sdvxsd-bg);
  box-shadow: 0 24px 70px rgba(4, 6, 18, 0.35);
  font-family: Inter, "Noto Sans JP", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.6;
}

.sdvx-score-desk *,
.sdvx-score-desk *::before,
.sdvx-score-desk *::after {
  box-sizing: inherit;
}

.sdvx-score-desk [hidden] {
  display: none !important;
}

.sdvx-score-desk__header {
  padding: 34px 28px 22px;
  text-align: center;
}

.sdvx-score-desk__eyebrow {
  margin: 0 0 8px;
  color: var(--sdvxsd-cyan);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.sdvx-score-desk__title {
  margin: 0;
  color: var(--sdvxsd-text);
  font-size: clamp(1.75rem, 5vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.sdvx-score-desk__subtitle {
  margin: 10px 0 0;
  color: var(--sdvxsd-muted);
  font-size: 0.94rem;
}

.sdvx-score-desk__notice {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 20px 20px;
  padding: 12px 14px;
  border: 1px solid rgba(86, 228, 255, 0.22);
  border-radius: 12px;
  color: #d9f9ff;
  background: rgba(86, 228, 255, 0.07);
  font-size: 0.82rem;
}

.sdvx-score-desk__notice strong {
  flex: none;
  color: var(--sdvxsd-cyan);
}

.sdvx-score-desk__upload {
  padding: 0 20px 6px;
}

.sdvx-score-desk__dropzone {
  display: flex;
  min-height: 220px;
  padding: 30px 18px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 2px dashed rgba(177, 195, 255, 0.28);
  border-radius: 20px;
  background: rgba(17, 22, 42, 0.74);
  text-align: center;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.sdvx-score-desk__dropzone:hover,
.sdvx-score-desk__dropzone.is-dragging {
  border-color: var(--sdvxsd-cyan);
  background: rgba(86, 228, 255, 0.08);
  transform: translateY(-2px);
}

.sdvx-score-desk__dropzone:focus-within {
  outline: 3px solid rgba(86, 228, 255, 0.4);
  outline-offset: 3px;
}

.sdvx-score-desk__drop-icon {
  display: grid;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  place-items: center;
  border: 1px solid rgba(86, 228, 255, 0.38);
  border-radius: 18px;
  color: var(--sdvxsd-cyan);
  background: linear-gradient(145deg, rgba(86, 228, 255, 0.14), rgba(255, 92, 202, 0.12));
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.sdvx-score-desk__drop-title {
  font-size: 1.1rem;
  font-weight: 800;
}

.sdvx-score-desk__drop-help {
  margin-top: 5px;
  color: var(--sdvxsd-muted);
  font-size: 0.78rem;
}

.sdvx-score-desk__file {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.sdvx-score-desk__status {
  min-height: 28px;
  margin: 12px 20px;
  color: var(--sdvxsd-muted);
  font-size: 0.82rem;
  text-align: center;
}

.sdvx-score-desk__status.is-error {
  color: #ff9db4;
}

.sdvx-score-desk__warnings {
  margin: 12px 20px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 225, 101, 0.3);
  border-radius: 12px;
  color: #fff2b6;
  background: rgba(255, 225, 101, 0.08);
  font-size: 0.8rem;
}

.sdvx-score-desk__warnings ul {
  margin: 6px 0 0;
  padding-left: 1.2em;
}

.sdvx-score-desk__viewer {
  padding: 0 20px 24px;
}

.sdvx-score-desk__toolbar {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 14px;
}

.sdvx-score-desk__toolbar-label {
  margin: 0;
  color: var(--sdvxsd-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sdvx-score-desk__summary {
  margin: 2px 0 0;
  font-size: 0.9rem;
  font-weight: 800;
}

.sdvx-score-desk__change,
.sdvx-score-desk__level {
  min-height: 44px;
  border: 1px solid var(--sdvxsd-line);
  color: var(--sdvxsd-text);
  background: var(--sdvxsd-panel-soft);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.sdvx-score-desk__change {
  flex: none;
  padding: 8px 15px;
  border-radius: 999px;
  font-size: 0.78rem;
}

.sdvx-score-desk__change:hover,
.sdvx-score-desk__level:hover {
  border-color: var(--sdvxsd-cyan);
}

.sdvx-score-desk__change:focus-visible,
.sdvx-score-desk__level:focus-visible {
  outline: 3px solid rgba(86, 228, 255, 0.45);
  outline-offset: 2px;
}

.sdvx-score-desk__levels {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 18px;
}

.sdvx-score-desk__level {
  padding: 7px 4px;
  border-radius: 10px;
  font-size: 0.82rem;
}

.sdvx-score-desk__level[aria-pressed="true"] {
  border-color: transparent;
  color: #07121a;
  background: linear-gradient(135deg, var(--sdvxsd-cyan), #aaf4ff);
  box-shadow: 0 6px 20px rgba(86, 228, 255, 0.2);
}

.sdvx-score-desk__chart-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sdvx-score-desk__chart {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  min-width: 0;
  padding: 13px 14px;
  align-items: center;
  border: 1px solid var(--sdvxsd-line);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(23, 29, 53, 0.96), rgba(17, 22, 42, 0.9));
}

.sdvx-score-desk__chart.is-unplayed {
  opacity: 0.64;
}

.sdvx-score-desk__chart.is-mismatch {
  border-color: rgba(255, 225, 101, 0.46);
}

.sdvx-score-desk__rank {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: var(--sdvxsd-cyan);
  background: rgba(86, 228, 255, 0.08);
  font-size: 0.78rem;
  font-weight: 900;
}

.sdvx-score-desk__chart-main {
  display: block;
  min-width: 0;
}

.sdvx-score-desk__chart-title {
  display: block;
  overflow-wrap: anywhere;
  color: var(--sdvxsd-text);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.35;
}

.sdvx-score-desk__chart-meta {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  align-items: center;
  flex-wrap: wrap;
  color: var(--sdvxsd-muted);
  font-size: 0.66rem;
}

.sdvx-score-desk__difficulty,
.sdvx-score-desk__mismatch {
  display: inline-flex;
  min-height: 20px;
  padding: 2px 7px;
  align-items: center;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.sdvx-score-desk__difficulty {
  color: #fff;
  background: #6c779b;
}

.sdvx-score-desk__difficulty.is-maximum,
.sdvx-score-desk__difficulty.is-exceed {
  background: #a82c82;
}

.sdvx-score-desk__difficulty.is-exhaust {
  background: #bd3545;
}

.sdvx-score-desk__difficulty.is-gravity,
.sdvx-score-desk__difficulty.is-infinite,
.sdvx-score-desk__difficulty.is-heavenly,
.sdvx-score-desk__difficulty.is-vivid,
.sdvx-score-desk__difficulty.is-ultimate,
.sdvx-score-desk__difficulty.is-nabla {
  color: #101526;
  background: var(--sdvxsd-yellow);
}

.sdvx-score-desk__mismatch {
  color: #201800;
  background: var(--sdvxsd-yellow);
}

.sdvx-score-desk__score {
  min-width: 80px;
  color: var(--sdvxsd-text);
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.78rem, 2.8vw, 1rem);
  font-weight: 900;
  text-align: right;
}

.sdvx-score-desk__puc {
  display: block;
  margin-top: 7px;
  color: var(--sdvxsd-cyan);
  font-size: 0.72rem;
  overflow-wrap: anywhere;
}

.sdvx-score-desk__puc-note {
  display: block;
  color: var(--sdvxsd-muted);
  font-size: 0.62rem;
}

.sdvx-score-desk__puc-source {
  display: inline-block;
  padding: 5px 0;
  color: var(--sdvxsd-cyan);
  text-decoration: underline;
}

.sdvx-score-desk__empty {
  margin: 0;
  padding: 32px 16px;
  border: 1px dashed var(--sdvxsd-line);
  border-radius: 14px;
  color: var(--sdvxsd-muted);
  text-align: center;
}

.sdvx-score-desk__footer {
  padding: 14px 20px 20px;
  border-top: 1px solid var(--sdvxsd-line);
  color: #7f89a8;
  font-size: 0.68rem;
  text-align: center;
}

.sdvx-score-desk__footer p {
  margin: 0;
}

.sdvx-score-desk__footer p + p {
  margin-top: 8px;
}

@media (min-width: 640px) {
  .sdvx-score-desk__header {
    padding-top: 46px;
  }

  .sdvx-score-desk__notice,
  .sdvx-score-desk__upload,
  .sdvx-score-desk__status,
  .sdvx-score-desk__warnings,
  .sdvx-score-desk__viewer {
    margin-right: 32px;
    margin-left: 32px;
  }

  .sdvx-score-desk__upload,
  .sdvx-score-desk__viewer {
    padding-right: 0;
    padding-left: 0;
  }

  .sdvx-score-desk__levels {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .sdvx-score-desk__chart {
    grid-template-columns: 40px minmax(0, 1fr) 132px;
    padding: 15px 18px;
  }

  .sdvx-score-desk__chart-title {
    font-size: 0.98rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sdvx-score-desk__dropzone {
    transition: none;
  }
}
.sdvx-score-desk--puc-table {
  color: #18344f;
  background: #f6f9fc;
  padding: 20px;
}
.sdvx-score-desk--puc-table [data-puc-rows] {
  overflow-x: auto;
}
.sdvx-score-desk--puc-table table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 14px;
}
.sdvx-score-desk--puc-table th, .sdvx-score-desk--puc-table td {
  padding: 10px;
  text-align: left;
  border-bottom: 1px solid #cad8e5;
}

/* 1.2: neutral, site-integrated viewer. Scoped; never edits the SWELL theme. */
.sdvx-score-desk [hidden] { display: none !important; }
.sdvx-score-desk__modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 28px; }
.sdvx-score-desk__modes button { box-sizing:border-box; width:100%; min-width:0; min-height:88px; padding:20px 16px; border:2px solid #a6bcc3; border-radius:12px; background:#eef6f7; color:#24434b; font:inherit; font-size:1.35rem; line-height:1.5; font-weight:800; text-align:center; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.sdvx-score-desk__modes button:hover { background:#e0eff1; border-color:#167c89; }
.sdvx-score-desk__modes button[aria-pressed="true"] { background:#093d45; color:#fff; border-color:#093d45; box-shadow:0 4px 12px rgba(9,61,69,.18); }
.sdvx-score-desk__modes button:focus-visible { outline:3px solid #167c89; outline-offset:4px; }
@media (max-width:599px) {
  .sdvx-score-desk__modes { grid-template-columns:minmax(0,1fr); gap:10px; margin:20px 0 24px; }
  .sdvx-score-desk__modes button { min-height:72px; padding:16px 12px; font-size:1.2rem; }
}
.sdvx-score-desk__vf-heading { font-size:1.3rem; margin:0 0 10px; }
.sdvx-score-desk__vf-summary { font-weight:700; font-size:1.05rem; }
.sdvx-score-desk__vf-current { margin:18px 0 8px; padding:16px 20px; background:#eaf6f7; border-left:4px solid #167b88; color:#093d45; font-weight:800; font-size:1.3rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sdvx-score-desk__vf-note { color:#546570; font-size:.8rem; margin:12px 0; }
.sdvx-score-desk__vf-note.is-error { color:#a42436; background:#fff4f5; padding:12px; border-radius:8px; }
.sdvx-score-desk__vf-list .sdvx-score-desk__chart-title { overflow-wrap:anywhere; }
.sdvx-score-desk__vf-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:20px 0; }
.sdvx-score-desk__vf-stats > div { min-width:0; padding:16px; background:#edf5f5; border:1px solid #d7e5e5; border-radius:8px; }
.sdvx-score-desk__vf-stats dt { color:#426069; font-size:.74rem; font-weight:600; }
.sdvx-score-desk__vf-stats dd { margin:8px 0 0; color:#093d45; font-size:1.5rem; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sdvx-score-desk__vf-values { grid-column:2; min-width:0; }
.sdvx-score-desk__vf-values .sdvx-score-desk__score { font-size:1.15rem; }
.sdvx-score-desk__vf-score { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:6px; font-size:.9rem; font-weight:600; font-variant-numeric:tabular-nums; }
.sdvx-score-desk__grade { padding:1px 6px; border-radius:4px; background:#edf3f5; color:#284850; font-size:.7rem; }
.sdvx-score-desk__clear { display:inline-flex; align-items:center; padding:2px 6px; border:1px solid #cbd8dd; border-radius:4px; background:#f1f4f6; color:#36454f; font-size:.65rem; line-height:1.5; font-weight:700; }
.sdvx-score-desk__clear.is-puc { color:#76570c; background:#fff5d6; border-color:#d5b763; }
.sdvx-score-desk__clear.is-uc { color:#673080; background:#f6edfb; border-color:#cbb1da; }
.sdvx-score-desk__clear.is-maxxive { color:#195b64; background:#e7f5f6; border-color:#8fbec4; }
.sdvx-score-desk__clear.is-excessive { color:#9a3240; background:#fff0f1; border-color:#d8a2a8; }
.sdvx-score-desk__clear.is-crash { color:#515d65; background:#e9eef1; }
.sdvx-score-desk__vf-breakdown { margin:20px 0; padding:14px 16px; border:1px solid #d8e1e5; border-radius:8px; background:#fff; }
.sdvx-score-desk__vf-breakdown summary { padding:4px 0; color:#24434b; font-size:.9rem; font-weight:700; cursor:pointer; }
.sdvx-score-desk__vf-breakdown summary:focus-visible { outline:3px solid #167c89; outline-offset:3px; }
.sdvx-score-desk__vf-chips { display:flex; flex-wrap:wrap; gap:8px; }
.sdvx-score-desk__vf-chips > span { padding:5px 9px; border-radius:4px; background:#f1f5f6; color:#36454f; font-size:.78rem; }
.sdvx-score-desk__vf-gap { margin-top:7px; color:#546570; font-size:.72rem; }
.sdvx-score-desk__entry-group { margin:16px 0; border:1px solid #c8dadd; border-radius:10px; background:#fff; }
.sdvx-score-desk__entry-toggle { position:relative; box-sizing:border-box; min-height:64px; padding:18px 52px 18px 18px; border-radius:9px; background:#eef6f7; color:#24434b; list-style:none; cursor:pointer; }
.sdvx-score-desk__entry-toggle::-webkit-details-marker { display:none; }
.sdvx-score-desk__entry-toggle::after { content:"＋"; position:absolute; top:50%; right:18px; transform:translateY(-50%); font-size:1.3rem; font-weight:700; }
.sdvx-score-desk__entry-group[open] > .sdvx-score-desk__entry-toggle { border-bottom:1px solid #c8dadd; border-radius:9px 9px 0 0; }
.sdvx-score-desk__entry-group[open] > .sdvx-score-desk__entry-toggle::after { content:"−"; }
.sdvx-score-desk__entry-toggle:hover { background:#e0eff1; }
.sdvx-score-desk__entry-toggle:focus-visible { outline:3px solid #167c89; outline-offset:3px; }
.sdvx-score-desk .sdvx-score-desk__entry-heading { display:inline; margin:0; padding:0; border:0; background:none; font-size:1.05rem; line-height:1.6; color:#24434b; }
.sdvx-score-desk__entry-content { padding:4px 16px 16px; }
.sdvx-score-desk .sdvx-score-desk__entry-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.sdvx-score-desk .sdvx-score-desk__entry-card { min-width:0; margin:0; padding:16px; border:1px solid #d8e1e5; border-radius:8px; background:#fff; }
.sdvx-score-desk__entry-goal { display:inline-block; padding:4px 9px; border-radius:5px; color:#195b64; background:#e7f5f6; font-size:.78rem; font-weight:700; }
.sdvx-score-desk .sdvx-score-desk__entry-title { margin:10px 0 0; padding:0; border:0; background:none; font-size:.98rem; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
.sdvx-score-desk__entry-values { display:grid; gap:7px; margin:14px 0; font-variant-numeric:tabular-nums; }
.sdvx-score-desk__entry-values > div { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px; }
.sdvx-score-desk__entry-values dt { color:#546570; font-size:.75rem; }
.sdvx-score-desk__entry-values dd { min-width:0; margin:0; font-size:.84rem; overflow-wrap:anywhere; }
.sdvx-score-desk .sdvx-score-desk__entry-gap { margin:8px 0 0; color:#195b64; font-size:1rem; font-weight:800; }
.sdvx-score-desk .sdvx-score-desk__entry-gain { margin:6px 0 0; color:#426069; font-size:.8rem; font-weight:700; }
.sdvx-score-desk .sdvx-score-desk__entry-required { margin:8px 0; color:#7b4020; font-size:.8rem; font-weight:700; }
.sdvx-score-desk .sdvx-score-desk__entry-extra { margin-top:12px; padding:10px 12px; border-radius:6px; background:#f1f7f8; font-size:.8rem; }
.sdvx-score-desk .sdvx-score-desk__entry-extra p { margin:0 0 5px; }
@media (max-width:599px) {
  .sdvx-score-desk .sdvx-score-desk__entry-list { grid-template-columns:minmax(0,1fr); }
  .sdvx-score-desk .sdvx-score-desk__entry-card { padding:14px; }
}
@media (max-width:599px) {
  .sdvx-score-desk__vf-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .sdvx-score-desk__vf-stats > div { padding:12px; }
  .sdvx-score-desk__vf-stats dd { font-size:1.3rem; }
  .sdvx-score-desk__vf-values .sdvx-score-desk__score { font-size:.96rem; }
  .sdvx-score-desk__vf-score { font-size:.8rem; gap:5px; }
  .sdvx-score-desk__vf-breakdown { padding:12px 8px; }
  .sdvx-score-desk__vf-candidates .sdvx-score-desk__chart { grid-template-columns:18px minmax(0,1fr); padding:8px 5px; gap:5px; }
}
.sdvx-score-desk {
  --sdvxsd-accent: var(--color_main, #167c89);
  --sdvxsd-line: #d8e1e5;
  --sdvxsd-muted: #546570;
  --sdvxsd-text: #26343c;
  max-width: none; margin: 0; padding: 0; overflow: visible;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
  color: inherit; font: inherit; line-height: 1.6;
}
.sdvx-score-desk__notice { margin: 0 0 18px; padding: 12px 14px; border: 0; border-radius: 8px; color: #284850; background: #eef6f7; }
.sdvx-score-desk__notice strong { color: inherit; }
.sdvx-score-desk__upload, .sdvx-score-desk__viewer { margin: 0; padding: 0; }
.sdvx-score-desk__dropzone { min-height: 180px; padding: 24px 16px; border-color: #a6bcc3; border-radius: 8px; background: #f8fafb; }
.sdvx-score-desk__dropzone:hover, .sdvx-score-desk__dropzone.is-dragging { border-color: var(--sdvxsd-accent); background: #eef6f7; transform: none; }
.sdvx-score-desk__dropzone:focus-within { outline-color: var(--sdvxsd-accent); }
.sdvx-score-desk__drop-icon { width: auto; height: auto; margin-bottom: 10px; border: 0; border-radius: 0; color: var(--sdvxsd-accent); background: none; }
.sdvx-score-desk__status { margin: 12px 0 20px; color: var(--sdvxsd-muted); text-align: left; }
.sdvx-score-desk__status.is-error { color: #ae2334; }
.sdvx-score-desk__toolbar { gap: 12px; align-items: center; margin-bottom: 12px; }
.sdvx-score-desk__toolbar-label { font-size: .75rem; letter-spacing: 0; }
.sdvx-score-desk__summary { font-weight: 700; }
.sdvx-score-desk__change, .sdvx-score-desk__level, .sdvx-score-desk__sort {
  min-height: 44px; border: 1px solid var(--sdvxsd-line); border-radius: 8px;
  color: inherit; background: #fff; font: inherit; cursor: pointer;
}
.sdvx-score-desk__change { padding: 8px 12px; font-size: .78rem; font-weight: 700; }
.sdvx-score-desk__change:hover, .sdvx-score-desk__level:hover { border-color: var(--sdvxsd-accent); }
.sdvx-score-desk__change:focus-visible, .sdvx-score-desk__level:focus-visible, .sdvx-score-desk__sort:focus-visible { outline: 3px solid var(--sdvxsd-accent); outline-offset: 2px; }
.sdvx-score-desk__sort-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 16px; font-size: .82rem; font-weight: 700; }
.sdvx-score-desk__sort { max-width: 100%; padding: 8px 12px; font-size: .82rem; }
.sdvx-score-desk__levels { gap: 6px; margin-bottom: 20px; }
.sdvx-score-desk__level { padding: 7px 3px; font-size: .82rem; font-weight: 700; }
.sdvx-score-desk__level[aria-pressed="true"] { border-color: var(--sdvxsd-accent); color: #fff; background: var(--sdvxsd-accent); box-shadow: none; }
.sdvx-score-desk .sdvx-score-desk__chart-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.sdvx-score-desk .sdvx-score-desk__chart { grid-template-columns: 26px minmax(0, 1fr); grid-template-rows: 1fr auto; align-items: start; gap: 10px; margin: 0; padding: 16px; border-radius: 8px; background: #fff; }
.sdvx-score-desk__chart.is-unplayed { opacity: 1; background: #f6f8f9; }
.sdvx-score-desk__chart.is-mismatch { border-color: #bdaa77; }
.sdvx-score-desk__rank { width: 26px; height: 26px; border-radius: 5px; color: #385964; background: #edf3f5; font-size: .72rem; font-weight: 700; }
.sdvx-score-desk__chart-title { font-size: .96rem; font-weight: 700; line-height: 1.5; }
.sdvx-score-desk__chart-meta { gap: 5px 8px; margin-top: 8px; font-size: .72rem; }
.sdvx-score-desk__difficulty, .sdvx-score-desk__mismatch { min-height: 22px; padding: 2px 6px; border: 1px solid transparent; border-radius: 4px; font-size: .65rem; font-weight: 700; letter-spacing: 0; line-height: 1.4; }
.sdvx-score-desk__difficulty.is-maximum { color: #26343c; background: #fff; border-color: #7f9099; }
.sdvx-score-desk__difficulty.is-gravity { color: #fff; background: #7b4d2f; }
.sdvx-score-desk__difficulty.is-exhaust { color: #fff; background: #c73139; }
.sdvx-score-desk__difficulty.is-exceed { color: #fff; background: #2469b5; }
.sdvx-score-desk__difficulty.is-heavenly { color: #123f56; background: #bfeaff; border-color: #75bfdc; }
.sdvx-score-desk__difficulty.is-vivid, .sdvx-score-desk__difficulty.is-infinite { color: #51223d; background: #f5a6d2; }
.sdvx-score-desk__difficulty.is-nabla { color: #26380d; background: #b5dd57; }
.sdvx-score-desk__mismatch { color: #55410f; background: #faf0cb; }
.sdvx-score-desk__score { grid-column: 2; min-width: 0; overflow-wrap: anywhere; font-size: 1.22rem; font-weight: 800; text-align: left; line-height: 1.4; }
.sdvx-score-desk__footer { margin-top: 20px; padding: 0; border: 0; color: var(--sdvxsd-muted); font-size: .7rem; text-align: left; }
@media (max-width: 599px) {
  .sdvx-score-desk .sdvx-score-desk__chart-list { gap: 8px; }
  .sdvx-score-desk .sdvx-score-desk__chart { grid-template-columns: 20px minmax(0, 1fr); gap: 7px; padding: 10px 8px; }
  .sdvx-score-desk__rank { width: 20px; height: 24px; font-size: .65rem; }
  .sdvx-score-desk__chart-title { font-size: .82rem; }
  .sdvx-score-desk__chart-meta { gap: 5px; font-size: .66rem; }
  .sdvx-score-desk__difficulty { font-size: .59rem; padding: 2px 4px; }
  .sdvx-score-desk__score { font-size: 1rem; }
}
.sdvx-score-desk__official {
  margin: 16px 0 24px;
  padding: 18px 20px;
  border: 1px solid #c8dee1;
  border-radius: 12px;
  background: #f4faf9;
  color: #173542;
  font-size: 14px;
  line-height: 1.8;
}
.sdvx-score-desk__official summary {
  cursor: pointer;
  font-weight: 700;
}
.sdvx-score-desk__official ol {
  padding-left: 1.6em;
}
.sdvx-score-desk__official textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #aac7cc;
  border-radius: 6px;
  padding: 10px;
  background: #fff;
  color: #173542;
  font: 12px/1.5 monospace;
  overflow-wrap: anywhere;
  margin: 6px 0 14px;
}
.sdvx-score-desk__official [data-sdvx-bookmarklet-code] {
  min-height: 64px;
}
.sdvx-score-desk__bookmarklet {
  display: inline-flex;
  padding: 10px 18px;
  border-radius: 8px;
  background: #175564;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
}
.sdvx-score-desk__official .sdvx-score-desk__change {
  margin: 4px;
}
.sdvx-score-desk__official [data-sdvx-import-preview] {
  border-top: 1px solid #c8dee1;
  margin-top: 12px;
  padding-top: 8px;
}
.sdvx-score-desk__saved-meta,
.sdvx-score-desk__record-note {
  color: #344c58;
  font-size: 13px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.sdvx-score-desk__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sdvx-score-desk__delete-confirm {
  padding: 16px;
  margin: 12px 0;
  border: 1px solid #d8aaaa;
  background: #fff7f7;
  color: #692525;
  border-radius: 12px;
}
.sdvx-score-desk [data-sdvx-clear] {
  color: #8d2525;
  border-color: #d8aaaa;
}
.sdvx-score-desk__chart .sdvx-score-desk__mismatch {
  white-space: normal;
  overflow-wrap: anywhere;
}

.sdvx-score-desk .sdvx-score-desk__vf-reference-note {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid #a7c9cd;
  border-left: 4px solid #167c89;
  border-radius: 8px;
  background: #edf7f7;
  color: #173f49;
  font-size: .9rem;
  line-height: 1.9;
}

.sdvx-score-desk__edition {display:block;margin:4px 0 6px;font-size:12px;line-height:1.6;color:var(--sdvxsd-muted);}

.sdvx-score-desk__filters {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
.sdvx-score-desk__filters label {display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:0;color:#173f49;font-weight:700;}
.sdvx-score-desk__filters input,.sdvx-score-desk__filters select {box-sizing:border-box;width:100%;min-height:44px;border:1px solid #7896a1;border-radius:8px;padding:10px;background:#fff;color:#173f49;font:inherit;}
.sdvx-score-desk__csv-preview {margin:16px 0;padding:18px;background:#edf7f7;border:2px solid #167c89;border-radius:12px;overflow-wrap:anywhere;}
.sdvx-score-desk__csv-preview [data-sdvx-csv-issues] {max-height:240px;overflow:auto;padding-left:24px;}
.sdvx-score-desk [data-sdvx-device-guide] ol {padding-left:24px;}
.sdvx-score-desk [data-sdvx-code-details] {margin:12px 0;}

/* Official game badges retain their original 52 × 40 proportions. */
.sdvx-score-desk__game-badges {grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;}
.sdvx-score-desk__game-badges:empty {display:none;}
.sdvx-score-desk__game-badge {display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#173f49;font-size:12px;font-weight:700;}
.sdvx-score-desk .sdvx-score-desk__game-badge-image {display:block;width:52px;height:40px;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:contain;}
.sdvx-score-desk__clear-unknown {color:#536a74;font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
@media (max-width:599px) {
  .sdvx-score-desk__game-badges {grid-column:1 / -1;justify-content:flex-end;}
}

/* One chart per row, with a fixed jacket slot and the score/badges grouped together. */
.sdvx-score-desk [data-sdvx-results] .sdvx-score-desk__chart-list {grid-template-columns:minmax(0,1fr);gap:8px;}
.sdvx-score-desk [data-sdvx-results] .sdvx-score-desk__chart {grid-template-columns:24px 64px minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:12px;padding:12px;}
.sdvx-score-desk__jacket {position:relative;display:block;flex:none;width:64px;height:64px;overflow:hidden;border:1px solid #d6e1e6;border-radius:7px;box-sizing:border-box;background:#edf3f5;}
.sdvx-score-desk .sdvx-score-desk__jacket-image {position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;object-fit:cover;}
.sdvx-score-desk__jacket-fallback {display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#58747d;background:linear-gradient(135deg,#edf4f6,#dce9ed);font:700 28px/1 sans-serif;}
.sdvx-score-desk__jacket-fallback[hidden] {display:none;}
.sdvx-score-desk__chart-result {display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0;}
.sdvx-score-desk__chart-result .sdvx-score-desk__score {grid-column:auto;white-space:nowrap;overflow-wrap:normal;text-align:right;}
.sdvx-score-desk__chart-result .sdvx-score-desk__game-badges {grid-column:auto;flex-wrap:nowrap;justify-content:flex-end;}
.sdvx-score-desk [data-sdvx-results] .sdvx-score-desk__chart-meta {margin-top:4px;}
@media(max-width:760px) {
  .sdvx-score-desk [data-sdvx-results] .sdvx-score-desk__chart {grid-template-columns:18px 52px minmax(0,1fr) auto;gap:8px;padding:10px 8px;}
  .sdvx-score-desk__jacket {width:52px;height:52px;}
  .sdvx-score-desk__chart-result {flex-direction:column;align-items:flex-end;gap:2px;}
  .sdvx-score-desk__chart-result .sdvx-score-desk__score {font-size:1rem;}
  .sdvx-score-desk .sdvx-score-desk__chart-result .sdvx-score-desk__game-badge-image {width:39px;height:30px;}
  .sdvx-score-desk__chart-result .sdvx-score-desk__game-badge {min-height:30px;}
}
@media(max-width:380px) {
  .sdvx-score-desk [data-sdvx-results] .sdvx-score-desk__chart {grid-template-columns:14px 44px minmax(0,1fr) auto;gap:6px;padding:9px 6px;}
  .sdvx-score-desk__jacket {width:44px;height:44px;}
  .sdvx-score-desk__chart-result .sdvx-score-desk__score {font-size:.88rem;}
  .sdvx-score-desk .sdvx-score-desk__chart-result .sdvx-score-desk__game-badge-image {width:32.5px;height:25px;}
  .sdvx-score-desk__chart-result .sdvx-score-desk__game-badge {min-height:25px;}
}
