/*@3.CORVC.1*/
.cv-load, .cv-err { padding: 1.6rem 0; text-align: center; color: var(--text-muted); font-size: .85rem; }
.cv-err { color: var(--st-danger); }

.cv-empty { text-align: center; padding: 1.4rem .8rem; }
.cv-empty p { margin: 0 auto .9rem; max-inline-size: 32rem; font-size: .86rem; line-height: 1.8; color: var(--text-secondary); }

.cv-verdict {
  display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap;
  padding: .8rem 1rem;
  border-radius: var(--radius-lg);
  background: color-mix(in oklab, var(--st-accent) 10%, transparent);
  border: 1px solid color-mix(in oklab, var(--st-accent) 30%, transparent);
}
.cv-verdict-n { font-size: 1.15rem; font-weight: 800; color: var(--st-accent); }
.cv-verdict p { margin: 0; font-size: .78rem; color: var(--text-secondary); }
.cv-verdict.is-soft {
  background: var(--bg-elevated);
  border-color: var(--border-color);
  display: block;
}
.cv-verdict.is-soft .cv-verdict-n {
  display: block; margin-block-end: .2rem;
  font-size: .92rem; color: var(--text-muted);
}

.cv-small {
  margin: .7rem 0 0;
  display: flex; align-items: center; gap: .4rem;
  font-size: .76rem; color: var(--st-warn);
}

.cv-block { margin-block-start: 1.3rem; }
.cv-h4 { margin: 0 0 .5rem; font-size: .85rem; font-weight: 800; }

.cv-bars { display: grid; gap: .35rem; }
.cv-bar {
  display: grid;
  grid-template-columns: minmax(6rem, 11rem) 1fr auto;
  align-items: center; gap: .6rem;
  font-size: .78rem;
}
.cv-bar-l { color: var(--text-secondary); }
.cv-bar-t {
  block-size: .5rem;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  overflow: hidden;
}
.cv-bar-t > i {
  display: block; block-size: 100%;
  border-radius: var(--radius-pill);
  background: var(--st-accent);
  min-inline-size: 2px;
}
.cv-bar-p {
  unicode-bidi: isolate; direction: ltr;
  font-variant-numeric: tabular-nums;
  font-weight: 700; color: var(--text-primary);
}
.cv-den { margin: .45rem 0 0; font-size: .72rem; color: var(--text-muted); }

.cv-q {
  margin: 0 0 .5rem;
  padding: .6rem .8rem;
  border-inline-start: 3px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  font-size: .84rem; line-height: 1.85; color: var(--text-secondary);
  unicode-bidi: plaintext;
}
.cv-q.is-explain { border-inline-start-color: var(--st-accent); }
.cv-q.is-advice { border-inline-start-color: var(--st-ok); }

.cv-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.cv-links a { color: var(--st-accent); text-decoration: none; font-size: .84rem; font-weight: 600; }
.cv-links a:hover { text-decoration: underline; }
.cv-kind {
  padding: .1rem .5rem;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated); color: var(--text-muted);
  font-size: .7rem;
}
.cv-why { margin: .2rem 0 0; font-size: .76rem; color: var(--text-muted); unicode-bidi: plaintext; }

.cv-foot { margin-block-start: 1.5rem; display: flex; justify-content: flex-end; }

/*@3.CORVC.4*/
.cv-q, .cv-links li { position: relative; }

/*@3.CORVC.2*/
.cv-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .12rem .55rem;
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  background: var(--bg-elevated); color: var(--text-muted);
  font: inherit; font-size: .7rem; font-weight: 700;
  cursor: pointer; vertical-align: middle;
  unicode-bidi: isolate;
}
.cv-chip > i { font-size: .68rem; opacity: .8; }
.cv-chip:hover { border-color: var(--st-accent); color: var(--st-accent); }
.cv-chip:focus-visible { outline: 2px solid var(--st-accent); outline-offset: 2px; }
.cv-chip.is-on { color: var(--text-primary); border-color: color-mix(in oklab, var(--st-accent) 45%, transparent); }
.cv-chip.is-flat { cursor: default; }
.cv-chip.is-flat:hover { border-color: var(--border-color); color: var(--text-muted); }
.cv-chip.is-flat.is-on:hover { color: var(--text-primary); }

.cvx { inline-size: min(44rem, calc(100vw - 2rem)); }
.cvx-head { padding: 1.25rem 1.4rem .2rem; }
.cvx-body { max-block-size: calc(min(88vh, 56rem) - 4.6rem); padding: .8rem 1.4rem 1.4rem; }

@media (max-width: 640px) {
  .cvx { inline-size: 100vw; }
  .cvx-body { max-block-size: calc(92vh - 4.6rem); padding-inline: 1rem; }
}

@media (max-width: 560px) {
  .cv-bar { grid-template-columns: 1fr auto; }
  .cv-bar-t { grid-column: 1 / -1; }
  .cv-foot { justify-content: stretch; }
  .cv-foot > .gsf-btn { inline-size: 100%; }
}
