.nca-clean-wrap{max-width:1100px}.nca-card{background:#fff;border:1px solid #ccd0d4;border-radius:10px;padding:14px;margin:14px 0}.nca-clean-form label{display:inline-block;margin:0 14px 12px 0}.nca-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.nca-input-grid input,.nca-input-grid select,.nca-clean-form select{width:100%;max-width:100%}.nca-piano-simple{display:flex;gap:8px;flex-wrap:wrap}.nca-octave{display:flex;align-items:flex-end;gap:2px;padding:6px;border:1px solid #ddd;border-radius:8px}.nca-oct-label{font-size:12px;color:#666;margin-right:4px}.nca-key{border:1px solid #888;border-radius:0 0 5px 5px;cursor:pointer}.nca-key.white{height:74px;width:30px;background:#fff}.nca-key.black{height:48px;width:25px;background:#222;color:#fff;margin-left:-9px;margin-right:-9px;z-index:2}.nca-tone-circle{display:grid;grid-template-columns:repeat(6,54px);gap:8px}.nca-tone-dot{display:inline-flex;align-items:center;justify-content:center;border:1px solid #aaa;border-radius:50%;width:48px;height:48px}.nca-tone-dot.active{background:#222;color:#fff}.nca-guitar-view{border:1px dashed #aaa;padding:12px}.nca-progression{width:100%;font-family:monospace}.nca-results th,.nca-results td{padding:7px}


/* v0.5.9 Piano Experience */
.nca-piano-simple{
  display:flex;
  gap:14px;
  align-items:flex-start;
  overflow-x:auto;
  padding:12px 10px 16px;
  border:1px solid #d8d8d8;
  border-radius:10px;
  background:#fbfbfb;
  max-width:100%;
}
.nca-piano-simple .nca-octave{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  position:relative;
  min-height:108px;
  padding-top:18px;
}
.nca-piano-simple .nca-oct-label{
  position:absolute;
  top:0;
  left:0;
  font-size:12px;
  color:#555;
}
.nca-piano-simple .nca-key{
  position:relative;
  border:1px solid #999;
  cursor:pointer;
  user-select:none;
  text-align:center;
  font-size:12px;
  border-radius:0 0 6px 6px;
  box-sizing:border-box;
}
.nca-piano-simple .nca-key.white{
  width:38px;
  min-width:38px;
  height:90px;
  background:#fff;
  color:#222;
  padding-top:58px;
}
.nca-piano-simple .nca-key.black{
  width:30px;
  min-width:30px;
  height:58px;
  background:#222;
  color:#fff;
  margin-left:-16px;
  margin-right:-16px;
  z-index:2;
  padding-top:28px;
}
.nca-piano-simple .nca-key.is-active{
  outline:3px solid #8b1f3d;
  outline-offset:-3px;
  font-weight:bold;
  box-shadow:0 0 0 2px rgba(139,31,61,.18);
}
.nca-piano-simple .nca-key:focus{outline:3px solid #2d6cdf}


/* v0.5.10 Tone Circle + Guitar Input Layer */
.nca-view-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:6px 0 10px}
.nca-tone-circle-panel{padding:8px 0}
.nca-tone-circle{
  position:relative;width:260px;height:260px;border-radius:50%;
  border:1px solid #ddd;background:radial-gradient(circle at center,#fff 0,#fff 45%,#f7f7f7 100%);
  margin:10px 0 12px;
}
.nca-tone-dot{
  position:absolute;left:50%;top:50%;width:48px;height:48px;margin-left:-24px;margin-top:-24px;
  border-radius:50%;border:1px solid #9b9b9b;background:#fff;cursor:pointer;
  transform:rotate(var(--angle)) translate(102px) rotate(calc(-1 * var(--angle)));
  font-weight:600;
}
.nca-tone-dot.active{background:#8b1f3d;color:#fff;border-color:#8b1f3d;box-shadow:0 0 0 3px rgba(139,31,61,.18)}
.nca-tone-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#555;font-size:13px;text-align:center}
.nca-fretboard{display:inline-block;overflow-x:auto;max-width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:10px;background:#fbfbfb}
.nca-fret-label-row,.nca-string-row{display:grid;grid-template-columns:44px repeat(13,44px);align-items:center;gap:2px;margin-bottom:3px}
.nca-fret-label-row span{font-size:11px;color:#666;text-align:center}
.nca-string-name{font-weight:700;color:#333}
.nca-fret{height:28px;border:1px solid #aaa;background:#fff;cursor:pointer;border-radius:4px;font-size:11px}
.nca-fret.active{background:#8b1f3d;color:#fff;border-color:#8b1f3d}


/* v0.5.12 Admin/frontend parity and sound-preset repair */
.nca-input-view-block{
  margin:12px 0;
  padding:10px;
  border:1px solid #e2e2e2;
  border-radius:10px;
  background:#fff;
}
.nca-input-view-block summary{
  cursor:pointer;
  margin-bottom:8px;
}


/* v0.5.14 Chamber tone and register markers */
.nca-oct-label small{display:block;font-weight:400;color:#777;font-size:10px;line-height:1.1}
.nca-key.nca-middle-c,
.nca-key.nca-concert-a{box-shadow:inset 0 0 0 3px #8b1f3d}
.nca-key.nca-concert-a{box-shadow:inset 0 0 0 3px #2d6cdf}
.nca-key-mark{position:absolute;left:3px;right:3px;bottom:4px;font-size:9px;line-height:1.05;color:#8b1f3d;pointer-events:none}
.nca-key.nca-concert-a .nca-key-mark{color:#2d6cdf}
.nca-fret.fret-marker{position:relative;background-image:radial-gradient(circle at center, rgba(0,0,0,.18) 0 3px, transparent 4px)}
.nca-fret.nca-middle-c{outline:2px solid #8b1f3d;outline-offset:-2px}
.nca-fret.nca-concert-a{outline:2px solid #2d6cdf;outline-offset:-2px}
.nca-fret-special{display:block;font-size:8px;line-height:1}


/* v0.5.15 layout cleanup */
.nca-oct-label{
  display:block;
  min-height:26px;
  white-space:normal;
  line-height:1.05;
  margin-bottom:6px;
  position:relative;
  z-index:3;
}
.nca-oct-label em{
  display:block;
  font-style:normal;
  font-weight:400;
  color:#666;
  font-size:10px;
}
.nca-concert-a-input[value="440"],
input[name="nca_concert_a"][value="440"]{
  font-weight:700;
}
.nca-tone-special{
  display:block;
  font-size:8px;
  line-height:1;
  margin-top:1px;
}
.nca-tone-middle-c{color:#8b1f3d}
.nca-tone-concert-a{color:#2d6cdf}
.nca-analysis-fold,
.nca-fold-card{
  margin:10px 0;
}
.nca-analysis-fold summary,
.nca-fold-card summary{
  cursor:pointer;
}
.nca-analysis-fold table{
  margin-top:8px;
}


/* v0.5.16 visual repair */
.nca-oct-label{
  display:block;
  min-height:18px;
  white-space:nowrap;
  line-height:1.1;
  margin-bottom:6px;
  position:relative;
  z-index:3;
}
.nca-oct-label em,
.nca-oct-label small{
  display:inline !important;
}
.nca-oct-desc{
  display:inline;
  font-weight:400;
  color:#666;
  font-size:10px;
  margin-left:4px;
}
.nca-tone-special{
  display:block;
  font-size:7px;
  line-height:1;
  margin-top:0;
  white-space:normal;
}
.nca-tone-middle-c{color:#8b1f3d}
.nca-tone-concert-a{color:#2d6cdf}
.nca-concert-a-input[value="440"],
input[name="nca_concert_a"][value="440"]{
  font-weight:700;
}


/* v0.5.17 Microphone pitch capture */
.nca-mic-controls{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.nca-mic-readout{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  padding:10px;
  border:1px solid #e0e0e0;
  border-radius:10px;
  background:#fafafa;
}
.nca-mic-meter{
  position:relative;
  height:34px;
  margin:14px 4px 6px;
  border:1px solid #d5d5d5;
  border-radius:999px;
  background:linear-gradient(90deg,#f3f3f3 0%,#f9f9f9 20%,#e9f7ee 35%,#e9f7ee 65%,#f9f9f9 80%,#f3f3f3 100%);
}
.nca-mic-meter .nca-mic-scale,
.nca-mic-meter .nca-mic-center{
  position:relative;
  display:inline-block;
  width:19%;
  text-align:center;
  font-size:11px;
  color:#555;
  top:8px;
}
.nca-mic-center{font-weight:700;color:#1f6f3b}
.nca-mic-needle{
  position:absolute;
  top:-5px;
  width:3px;
  height:44px;
  background:#8b1f3d;
  transform:translateX(-50%);
  border-radius:2px;
}
.nca-mic-needle.is-ok{background:#1f8f4d}


/* v0.5.18 Microphone diagnostics */
.nca-mic-card.is-recording{
  border-color:#1f8f4d;
  box-shadow:0 0 0 3px rgba(31,143,77,.15);
}
.nca-mic-card.is-recording .nca-mic-start{
  background:#1f8f4d;
  border-color:#1f8f4d;
  color:#fff;
  font-weight:700;
}
.nca-mic-card.is-recording .nca-mic-status{
  color:#1f8f4d;
  font-weight:700;
}
.nca-mic-level-wrap{
  width:100%;
  height:14px;
  margin:10px 0 4px;
  border:1px solid #d5d5d5;
  border-radius:999px;
  overflow:hidden;
  background:#f4f4f4;
}
.nca-mic-level-bar{
  display:block;
  height:100%;
  width:0%;
  background:#1f8f4d;
  transition:width .08s linear;
}
.nca-mic-debug{font-family:monospace;}


/* v0.5.19 Raw microphone debug */
.nca-mic-start.is-recording{
  background:#1f8f4d !important;
  border-color:#1f8f4d !important;
  color:#fff !important;
  font-weight:700;
}
.nca-mic-raw-meter{
  position:relative;
  height:14px;
  margin:10px 0 4px;
  border:1px solid #cfcfcf;
  border-radius:999px;
  background:#f5f5f5;
  overflow:hidden;
}
.nca-mic-raw-meter-fill{
  display:block;
  height:100%;
  width:0%;
  background:#1f8f4d;
  transition:width .08s linear;
}
.nca-mic-debug{
  font-family:monospace;
}


/* v0.5.20 UI grouping and smoother microphone indicators */
.nca-input-view-block .nca-mic-card{
  border:0;
  padding:0;
  margin:0;
  background:transparent;
}
.nca-mic-needle{
  transition:left .18s ease-out, background-color .18s ease-out;
}
.nca-mic-raw-meter-fill{
  transition:width .18s ease-out;
}
.nca-mic-meter{
  opacity:.88;
}
.nca-mic-readout{
  font-size:13px;
}


/* v0.5.21 global concert A and stable pitch */
.nca-concert-a-global-note{
  display:block;
  max-width:280px;
  color:#666;
  line-height:1.2;
  margin-top:2px;
}
.nca-mic-stable-note{
  font-weight:700;
  color:#1f6f3b;
}
.nca-mic-stability{
  font-weight:700;
}


/* v0.5.33 small layout-only cleanup */
.nca-product-line{
  font-size:12px;
  color:#666;
  margin:0 0 10px;
  letter-spacing:.01em;
}
.nca-key-select{
  width:4.5ch;
}
.nca-concert-a-input{
  width:5.5ch !important;
}


/* v0.5.34 layout-only Toner / akkord width cleanup */
.nca-notes-input{
  width:24ch !important;
  max-width:24ch !important;
}
.nca-direct-input{
  width:24ch !important;
  max-width:24ch !important;
}
.nca-root-select{
  width:6ch !important;
  max-width:6ch !important;
}
.nca-type-select{
  width:15ch !important;
  max-width:15ch !important;
}


/* v0.5.35 layout-only: clearer input surface section */
.nca-section-step{
  display:inline-block;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:#f0f0f0;
  color:#666;
  font-size:11px;
  font-weight:500;
  vertical-align:middle;
}
.nca-help-inline{
  margin:4px 0 8px;
}
.nca-help-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ececec;
  color:#555;
  font-size:12px;
  cursor:help;
  user-select:none;
}
.nca-help-icon:hover{
  background:#dcdcdc;
}


/* v0.5.36 layout-only workflow labels */
.nca-section-step{
  display:inline-block;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:#f0f0f0;
  color:#666;
  font-size:11px;
  font-weight:500;
  vertical-align:middle;
}

/* v0.5.37 compact analysis summary */
.nca-analysis-summary{
 display:flex;
 flex-wrap:wrap;
 gap:10px 18px;
 align-items:center;
 padding:10px 12px;
 margin:8px 0 12px;
 border:1px solid #e3e3e3;
 border-radius:10px;
 background:#fafafa;
 line-height:1.35;
}
.nca-analysis-summary span{
 white-space:nowrap;
}


/* v0.5.39 layout-only analysis detail foldouts */
.nca-analysis-detail{
  margin:10px 0;
  padding:9px 10px;
  border:1px solid #e2e2e2;
  border-radius:10px;
  background:#fff;
}
.nca-analysis-detail > summary{
  cursor:pointer;
  color:#333;
}
.nca-analysis-detail table{
  margin-top:8px;
}


/* v0.5.40 microphone UI smoothing only */
.nca-mic-needle{
  transition:left .32s ease-out, background-color .22s ease-out;
}
.nca-mic-raw-meter-fill{
  transition:width .32s ease-out;
}
.nca-mic-meter{
  opacity:.78;
}

/* v0.6.0 NOSLAH Tuner prototype */
.nca-tuner-settings{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.nca-tuner-panel{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:18px;align-items:center}
.nca-tuner-ring{position:relative;width:320px;height:320px;border-radius:50%;border:1px solid #ddd;background:radial-gradient(circle,#fdfdfd 0%,#fafafa 45%,#f1f1f1 100%);margin:auto}
.nca-tuner-note{position:absolute;left:50%;top:50%;transform:rotate(var(--angle)) translateY(-143px) rotate(calc(-1 * var(--angle))) translate(-50%,-50%);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;background:#eee;color:#444;opacity:.62;transition:all .22s ease-out}
.nca-tuner-note.is-active{opacity:1;background:#333;color:#fff;transform:rotate(var(--angle)) translateY(-143px) rotate(calc(-1 * var(--angle))) translate(-50%,-50%) scale(1.16)}
.nca-tuner-center{position:absolute;inset:82px;border-radius:50%;background:#f3f3f3;border:1px solid #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .28s ease-out, box-shadow .28s ease-out}
.nca-tuner-center.is-ok{background:#dff4e5;box-shadow:0 0 0 8px rgba(31,143,77,.12)}
.nca-tuner-main-note{font-size:48px;font-weight:700;line-height:1}
.nca-tuner-instrument-note{font-size:13px;color:#555;margin-top:4px}
.nca-tuner-frequency{font-size:14px;margin-top:5px}
.nca-tuner-side{min-width:220px}
.nca-tuner-cents{font-size:34px;font-weight:700;margin-bottom:8px}
.nca-tuner-status{color:#555;margin-bottom:12px}
.nca-tuner-meter{position:relative;height:40px;border:1px solid #ddd;border-radius:999px;background:linear-gradient(90deg,#f4f4f4 0%,#f9f9f9 38%,#dff4e5 46%,#dff4e5 54%,#f9f9f9 62%,#f4f4f4 100%);display:flex;justify-content:space-around;align-items:center;font-size:11px;color:#666;overflow:hidden}
.nca-tuner-needle{position:absolute;top:-4px;width:3px;height:48px;left:50%;transform:translateX(-50%);background:#8b1f3d;border-radius:2px;transition:left .32s ease-out, background .2s ease-out}
.nca-tuner-needle.is-ok{background:#1f8f4d}
.nca-tuner-lock{margin-top:8px;font-size:12px;color:#666}
@media (max-width:700px){.nca-tuner-panel{grid-template-columns:1fr}.nca-tuner-ring{width:280px;height:280px}.nca-tuner-note{transform:rotate(var(--angle)) translateY(-123px) rotate(calc(-1 * var(--angle))) translate(-50%,-50%)}.nca-tuner-note.is-active{transform:rotate(var(--angle)) translateY(-123px) rotate(calc(-1 * var(--angle))) translate(-50%,-50%) scale(1.16)}.nca-tuner-center{inset:72px}}
