/* Miora research: an editorial extension of the ivory / forest brand. */
.research-survey {
  --sv-paper: #fffcf6;
  --sv-bg: #f4f3ec;
  --sv-ink: #183a2c;
  --sv-muted: #617063;
  --sv-line: #d9dfd2;
  --sv-lime: #d6e475;
  --sv-error: #9d3932;
  --sv-serif: Georgia, 'Songti SC', 'Noto Serif SC', SimSun, serif;
  margin: 0;
  color: var(--sv-ink);
  background: var(--sv-bg);
  font: 15px/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.research-survey *, .research-survey *::before, .research-survey *::after { box-sizing: border-box; }
.research-survey [hidden] { display: none !important; }
.research-survey button, .research-survey input, .research-survey textarea, .research-survey select { font: inherit; }
.research-survey button, .research-survey a, .research-survey label { -webkit-tap-highlight-color: transparent; }
.research-survey button { cursor: pointer; }
.research-survey button:disabled { opacity: .45; cursor: default; }
.research-survey a { color: inherit; text-decoration: none; }
.research-survey :focus-visible { outline: 3px solid #678a40; outline-offset: 4px; }
.research-survey h1, .research-survey h2, .research-survey p { margin-top: 0; }
.sv-topbar { max-width: 1408px; margin: auto; padding: 26px 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.sv-brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.sv-brand strong { font-size: 23px; letter-spacing: -.06em; line-height: 1; }
.sv-brand strong span { margin-left: 12px; font-size: 12px; font-weight: 500; letter-spacing: .15em; }
.sv-brand img { display: block; }
.sv-topbar__label, .sv-kicker { font: 600 10px/1.7 ui-monospace, Consolas, monospace; letter-spacing: .16em; }
.sv-topbar__label { color: var(--sv-muted); }
.sv-edition { font-size: 11px; padding: 7px 12px; border: 1px solid var(--sv-line); border-radius: 100px; }
.sv-layout { max-width: 1408px; margin: 6px auto 0; padding: 0 48px; display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.35fr); gap: 32px; align-items: start; }
.sv-story { position: sticky; top: 24px; padding: 38px 34px 28px; border-radius: 24px; background: #193a2c; color: #f9f8eb; overflow: hidden; }
.sv-story > .sv-kicker { color: #d6e475; margin-bottom: 28px; }
.sv-story h1 { font: 500 clamp(28px, 2.55vw, 39px)/1.55 var(--sv-serif); letter-spacing: -.045em; margin-bottom: 18px; }
.sv-story h1 span { color: var(--sv-lime); }
.sv-story__intro { font-size: 12px; color: #c0cdbf; line-height: 1.95; }
.sv-orbit { height: 138px; position: relative; margin: 8px 0 25px; display: flex; align-items: center; justify-content: center; }
.sv-orbit__line { position: absolute; inset: 26px 12px; border: 1px solid #6c816243; border-radius: 50%; transform: rotate(-13deg); }
.sv-orbit::before { content: ''; position: absolute; width: 100px; height: 100px; border: 1px solid #95a67a44; border-radius: 50%; }
.sv-orbit::after { content: ''; position: absolute; width: 11px; height: 11px; left: 15%; top: 57%; background: var(--sv-lime); border-radius: 50%; box-shadow: 0 0 0 6px #d6e47512; }
.sv-orbit img { width: 43px; height: 43px; opacity: .92; }
.sv-orbit__caption { position: absolute; bottom: -6px; font: 8px ui-monospace, monospace; letter-spacing: .14em; color: #aebfa6; }
.sv-progress-head { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; color: #dce4d0; }
#svProgress { appearance: none; width: 100%; height: 3px; display: block; border: 0; margin: 10px 0 20px; border-radius: 10px; background: #ffffff25; color: var(--sv-lime); }
#svProgress::-webkit-progress-bar { background: #ffffff25; border-radius: 10px; }
#svProgress::-webkit-progress-value { background: var(--sv-lime); border-radius: 10px; transition: width .2s ease; }
#svProgress::-moz-progress-bar { background: var(--sv-lime); }
.sv-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 5px 10px; }
.sv-steps button { width: 100%; display: flex; gap: 9px; align-items: center; min-height: 44px; border: 0; background: transparent; color: #c4d0be; text-align: left; padding: 4px 0; font-size: 11px; }
.sv-steps button span { font: 10px ui-monospace, monospace; color: #aec296; }
.sv-steps button small { font-size: 9px; color: #bbccb1; }
.sv-steps button[aria-current] { color: var(--sv-lime); font-weight: 700; }
.sv-steps button:disabled { opacity: .6; }
.sv-chapter-nav { display: none; }
.sv-draft-restore { padding: 16px 18px; margin-bottom: 28px; border: 1px solid #c9d7b4; border-radius: 12px; background: #f0f4e5; scroll-margin-top: 88px; }
.sv-draft-restore strong { font-size: 14px; }
.sv-draft-restore p { margin: 6px 0 0; color: #4c6141; font-size: 12px; line-height: 1.8; }
.sv-draft-actions { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.sv-draft-actions button:last-child { color: var(--sv-muted); }
.sv-story__foot { font-size: 10px; color: #b5c6af; line-height: 1.9; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #ffffff1c; }
.sv-paper { min-width: 0; background: var(--sv-paper); border: 1px solid var(--sv-line); border-radius: 24px; padding: 40px 42px 22px; box-shadow: 0 20px 60px #24372605; }
.sv-section { animation: sv-arrive .22s ease both; }
.sv-section-head { padding-bottom: 23px; border-bottom: 1px solid var(--sv-line); margin-bottom: 25px; }
.sv-section-head .sv-kicker { color: #798863; }
.sv-section-head h2 { font: 600 29px/1.45 var(--sv-serif); margin: 9px 0 13px; letter-spacing: -.04em; }
.sv-section-head h2:focus { outline: none; }
.sv-section-head p { color: var(--sv-muted); font-size: 12px; margin: 0; line-height: 1.85; }
.sv-intro-note { display: flex; align-items: flex-start; gap: 12px; padding: 16px; margin-bottom: 25px; background: #edf1e6; border-radius: 12px; }
.sv-intro-note p { margin: 0; color: #55654f; font-size: 11px; line-height: 1.85; }
.sv-intro-note__mark { flex-shrink: 0; display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #9cae89; border-radius: 50%; font-family: var(--sv-serif); }
.sv-question { display: block; min-width: 0; padding: 0; margin: 0 0 30px; border: 0; }
.sv-question-title { display: block; float: none; width: 100%; color: var(--sv-ink); padding: 0; margin: 0 0 13px; font-size: 14px; font-weight: 650; line-height: 1.8; }
.sv-required, .sv-optional { margin-left: 5px; font-size: 10px; font-weight: 400; white-space: nowrap; }
.sv-required { color: #85723d; }
.sv-optional { color: #6c7867; }
.sv-input { display: block; width: 100%; min-height: 48px; border: 1px solid #cdd6c5; border-radius: 10px; padding: 11px 14px; color: var(--sv-ink); background: #fffefb; transition: border-color .15s; }
.sv-input:hover { border-color: #96a386; }
.sv-input:focus { border-color: #53764a; outline: 3px solid #dce6cc; outline-offset: 1px; }
.sv-input::placeholder { color: #838b7e; font-size: 12px; }
.sv-textarea { resize: vertical; min-height: 100px; line-height: 1.8; }
.sv-wordcount { margin-top: 5px; text-align: right; color: #6f7c67; font: 10px ui-monospace, monospace; }
.sv-hint { font-size: 11px; color: var(--sv-muted); margin: 7px 0 12px; }
.sv-consent { display: flex; gap: 11px; align-items: flex-start; color: #52634b; font-size: 11px; line-height: 1.8; padding: 2px 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--sv-line); cursor: pointer; }
.sv-consent input, .sv-choice input { appearance: none; flex: 0 0 17px; width: 17px; height: 17px; border: 1px solid #a3b194; background: #fffefb; margin: 0; position: relative; border-radius: 5px; cursor: pointer; }
.sv-consent input { margin-top: 3px; }
.sv-choice input[type='radio'] { border-radius: 50%; }
.sv-choice input:checked, .sv-consent input:checked { border-color: #36583a; background: #36583a; box-shadow: inset 0 0 0 3px #fffefb; }
.sv-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.sv-options--wide { grid-template-columns: 1fr; }
.sv-choice { display: flex; align-items: center; gap: 10px; min-height: 49px; padding: 12px 14px; cursor: pointer; border: 1px solid #e0e4d8; border-radius: 11px; background: #fffefb; font-size: 12px; line-height: 1.6; transition: background .15s, border-color .15s; overflow-wrap: anywhere; }
.sv-choice:hover { background: #f2f5e8; border-color: #b9c7a4; }
.sv-choice:has(input:checked) { background: #ebf0df; border-color: #7a9356; color: #244521; }
.sv-choice:has(input:focus-visible) { outline: 3px solid #b7ce8c; outline-offset: 2px; }
.sv-choice input:focus-visible { outline: none; }
.sv-choice:has(input:disabled) { opacity: .45; }
.sv-scale { display: flex; flex-wrap: wrap; gap: 7px; }
.sv-scale .sv-choice { flex: 1 0 44px; min-width: 44px; justify-content: center; padding: 10px 3px; min-height: 46px; position: relative; font: 14px ui-monospace, monospace; }
.sv-scale .sv-choice input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; }
.sv-scale .sv-choice:has(input:checked) { color: #fffefb; background: #36583a; }
.sv-scale-ends { display: flex; justify-content: space-between; margin-top: 8px; font-size: 10px; color: var(--sv-muted); }
.sv-matrix { border: 1px solid var(--sv-line); border-radius: 12px; overflow: hidden; }
.sv-matrix-row { padding: 15px 13px; background: #fcfbf4; }
.sv-matrix-row + .sv-matrix-row { border-top: 1px solid var(--sv-line); }
.sv-matrix-row:has([aria-invalid='true']) { background: #fff5ee; box-shadow: inset 3px 0 #b46c4a; }
.sv-matrix-row > span { display: block; margin-bottom: 10px; color: #43553d; font-size: 12px; }
.sv-matrix-options { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 5px; }
.sv-choice--small { position: relative; justify-content: center; min-height: 44px; border-radius: 7px; padding: 8px 2px; text-align: center; font-size: 10px; }
.sv-choice--small input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
.sv-question-error { margin: 6px 0 0; color: var(--sv-error); font-size: 12px; }
.sv-question-error:empty { display: none; }
.sv-question.is-invalid { border-left: 2px solid #bc6559; padding-left: 12px; }
.sv-error { padding: 14px 17px; color: var(--sv-error); border: 1px solid #e6c0b2; background: #fbede7; border-radius: 10px; font-size: 12px; }
.sv-form-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; border-top: 1px solid var(--sv-line); padding-top: 22px; }
.sv-button { display: inline-flex; justify-content: center; align-items: center; gap: 22px; min-height: 48px; padding: 12px 24px; border: 1px solid #1b3d2d; border-radius: 10px; background: #1b3d2d; color: #fffdf4; font-size: 13px; font-weight: 600; transition: background .15s, transform .15s; }
.research-survey a.sv-button { color: #fffdf4; }
.sv-button:hover { background: #2f5436; transform: translateY(-1px); }
.sv-button--secondary, .research-survey a.sv-button--secondary { border-color: var(--sv-line); color: var(--sv-ink); background: transparent; }
.sv-button--secondary:hover { background: #e8eedd; }
.sv-button--danger { background: #9d3932; border-color: #9d3932; }
.sv-button--danger:hover { background: #7b2c27; }
.sv-draft-status { margin-right: auto; font-size: 10px; color: var(--sv-muted); }
.sv-text-button { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 0; border: 0; background: transparent; color: #426238; font-size: 12px; }
.sv-text-button:hover { text-decoration: underline; text-underline-offset: 5px; }
.sv-text-button[aria-disabled='true'] { color: var(--sv-muted); opacity: .6; cursor: not-allowed; text-decoration: none; }
.sv-clear { font-size: 10px; color: #77816f; }
.sv-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sv-success { padding: 70px 0; text-align: center; }
.sv-success__mark { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 32px; background: var(--sv-lime); border-radius: 50%; font-size: 26px; }
.sv-success h2 { font: 600 32px/1.5 var(--sv-serif); overflow-wrap: anywhere; margin-bottom: 20px; }
.sv-success > p { font-size: 13px; color: var(--sv-muted); line-height: 2; }
.sv-receipt { display: grid; gap: 10px; justify-items: center; padding: 22px 12px; margin: 22px 0; border-block: 1px solid var(--sv-line); }
.sv-receipt > span { font-size: 10px; color: var(--sv-muted); }
.sv-receipt code { font-size: 13px; overflow-wrap: anywhere; }
.sv-site-footer { max-width: 1408px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 0 auto; padding: 26px 48px; color: #7c8574; font-size: 10px; }
.sv-site-footer a { text-decoration: underline; }
/* Owner-only observatory: data hierarchy rather than decorative charts. */
.sv-question-clear { font-size: 10px; opacity: .8; }
.sv-admin { max-width: 1540px; margin: auto; padding: 12px 40px 48px; }
.sv-admin-head { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding: 12px 0 32px; }
.sv-admin-head h1 { font: 500 clamp(30px, 3vw, 44px)/1.4 var(--sv-serif); letter-spacing: -.05em; margin: 12px 0; }
.sv-admin-head em { color: #749344; font-style: normal; }
.sv-admin-head p:not(.sv-kicker) { color: var(--sv-muted); font-size: 12px; margin-bottom: 0; }
.sv-admin-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sv-admin-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; padding: 20px; background: var(--sv-paper); border: 1px solid var(--sv-line); border-radius: 15px; }
.sv-admin-filters label { flex: 1; min-width: 155px; display: grid; gap: 7px; font-size: 11px; color: var(--sv-muted); }
.sv-admin-filters .sv-input { font-size: 12px; }
.sv-export { display: grid; align-content: center; min-height: 48px; font-size: 12px; }
.sv-export small { color: var(--sv-muted); font-size: 9px; }
.sv-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }
.sv-metrics article { display: grid; gap: 16px; border-radius: 15px; padding: 22px; background: #e8eddc; border: 1px solid #d7dfc9; }
.sv-metrics article:first-child { background: var(--sv-ink); color: #edf3d9; border-color: var(--sv-ink); }
.sv-metrics article:nth-child(3) { background: var(--sv-paper); border-color: var(--sv-line); }
.sv-metrics article:nth-child(4) { background: var(--sv-paper); border-color: var(--sv-line); }
.sv-metrics span { font-size: 11px; }
.sv-metrics strong { font: 500 clamp(24px, 2.5vw, 34px)/1.2 var(--sv-serif); font-variant-numeric: tabular-nums; }
.sv-admin-tabs { display: grid; gap: 5px; padding: 0 0 20px; border-bottom: 1px solid var(--sv-line); margin-bottom: 22px; }
.sv-admin-tabs button { display: flex; align-items: center; gap: 14px; text-align: left; padding: 12px; min-height: 48px; background: transparent; color: var(--sv-muted); border: 1px solid transparent; border-radius: 10px; font-size: 13px; white-space: nowrap; }
.sv-admin-tabs button.is-active { background: #e2e8d1; border-color: #cbd5b6; color: #294025; }
.sv-analysis-note { display: flex; gap: 30px; padding: 20px 0 26px; align-items: baseline; }
.sv-analysis-note strong { white-space: nowrap; font: 600 19px var(--sv-serif); }
.sv-analysis-note p { color: var(--sv-muted); font-size: 11px; max-width: 720px; margin: 0; }
.sv-analysis-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 12px; color: var(--sv-muted); }
.sv-analysis-filter select { width: auto; max-width: 100%; font-size: 14px; }
.sv-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sv-chart { min-width: 0; background: var(--sv-paper); border: 1px solid var(--sv-line); border-radius: 17px; padding: 25px; }
.sv-chart h2, .sv-chart h3 { font: 600 19px/1.5 var(--sv-serif); margin: 0 0 8px; }
.sv-chart .sv-hint { margin-bottom: 22px; }
.sv-chart--matrix { grid-column: 1 / -1; }
.sv-chart details { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--sv-line); }
.sv-chart summary { cursor: pointer; min-height: 44px; padding: 9px 0; font-size: 12px; }
.sv-bar-row { margin-bottom: 13px; }
.sv-bar-label { display: flex; justify-content: space-between; gap: 14px; font-size: 11px; color: #43523a; margin-bottom: 5px; }
.sv-bar-label b { white-space: nowrap; font: 10px ui-monospace, monospace; color: var(--sv-muted); }
.sv-bar-track { height: 6px; background: #eaf0df; border-radius: 10px; overflow: hidden; }
.sv-bar-fill { display: block; min-width: 0; height: 100%; border-radius: 10px; background: #82984e; }
.sv-empty { padding: 52px 18px; text-align: center; color: var(--sv-muted); font-size: 13px; grid-column: 1 / -1; }
.sv-table-wrap { background: var(--sv-paper); border: 1px solid var(--sv-line); border-radius: 14px; overflow-x: auto; }
.sv-table { border-collapse: collapse; width: 100%; text-align: left; }
.sv-table th { color: var(--sv-muted); font-weight: 500; font-size: 10px; background: #e9eedd; padding: 15px 18px; }
.sv-table td { padding: 14px 18px; font-size: 12px; border-top: 1px solid var(--sv-line); max-width: 290px; overflow-wrap: anywhere; }
.sv-table small { display: block; margin-top: 4px; color: var(--sv-muted); font-size: 10px; }
.sv-pagination { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 16px; }
.sv-pagination > span { font-size: 12px; color: var(--sv-muted); }
.sv-detail { max-width: 760px; width: calc(100% - 32px); max-height: 88dvh; padding: 28px; border: 1px solid var(--sv-line); border-radius: 20px; background: var(--sv-paper); color: var(--sv-ink); overscroll-behavior: contain; }
.sv-detail::backdrop { background: #14291dc4; backdrop-filter: blur(5px); }
.sv-detail-head { display: flex; justify-content: space-between; gap: 20px; }
#svDetail[open] { display: flex; flex-direction: column; overflow: hidden; }
#svDetail .sv-detail-head { flex-shrink: 0; border-bottom: 1px solid var(--sv-line); }
.sv-detail-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-top: 16px; padding-right: 8px; }
.sv-detail-head h2 { font: 600 28px var(--sv-serif); overflow-wrap: anywhere; }
.sv-close { display: grid; place-items: center; flex: 0 0 44px; height: 44px; background: #e8eddc; border: 0; border-radius: 50%; color: var(--sv-ink); font-size: 25px; }
.sv-answer { border-top: 1px solid var(--sv-line); padding: 18px 0; }
.sv-answer h3 { font-size: 12px; margin: 0 0 8px; }
.sv-answer p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; margin: 0; color: #5d6c53; }
.sv-delete-form { margin-top: 20px; padding-top: 22px; border-top: 1px solid #e6c0b2; font-size: 12px; }
.sv-delete-form > div { display: flex; gap: 12px; margin-top: 10px; }
.sv-delete-form input { flex: 1; min-width: 0; }
.sv-delete-form p { color: var(--sv-error); margin-top: 8px; }
@keyframes sv-arrive { from { opacity: .5; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1440px) { .sv-story { padding: 42px; } }
@media (max-width: 1000px) {
  .sv-topbar { padding: 22px 24px; }
  .sv-layout { padding: 0 24px; gap: 20px; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); }
  .sv-story { padding: 28px 24px; }
  .sv-paper { padding: 30px 24px 18px; }
  .sv-story h1 { font-size: 28px; }
  .sv-steps { grid-template-columns: 1fr; gap: 0; }
  .sv-orbit { height: 110px; }
  .sv-admin { padding: 20px 24px; }
  .sv-admin-head { flex-direction: column; align-items: start; }
  .sv-analysis-note { flex-direction: column; gap: 12px; }
}
@media (max-width: 700px) {
  .sv-topbar { padding: 18px 18px 14px; gap: 12px; }
  .sv-topbar__label { display: none; }
  .sv-brand strong { font-size: 21px; }
  .sv-edition { font-size: 10px; }
  .sv-layout { display: block; padding: 0 12px; margin-top: 0; }
  .sv-story { position: relative; top: auto; border-radius: 17px; padding: 23px 23px 16px; margin-bottom: 14px; }
  .sv-story > .sv-kicker { margin-bottom: 10px; font-size: 8px; }
  .sv-story h1 { font-size: clamp(24px, 6.8vw, 29px); line-height: 1.5; margin-bottom: 11px; }
  .sv-story__intro { font-size: 11px; margin-bottom: 20px; }
  .sv-orbit, .sv-story__foot { display: none; }
  .sv-steps { display: none; }
  .sv-chapter-nav { display: grid; position: sticky; top: 0; z-index: 2; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: center; gap: 12px; padding: 10px 0; margin: -10px 0 24px; border-bottom: 1px solid var(--sv-line); background: var(--sv-paper); font-size: 11px; color: var(--sv-muted); }
  .sv-chapter-nav .sv-input { min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid #aebe99; border-radius: 8px; color: var(--sv-ink); background: #f0f4e5; font-size: 16px; }
  .sv-draft-restore { padding: 14px; margin-bottom: 22px; }
  #svProgress { margin: 9px 0 0; }
  .sv-paper { border-radius: 17px; padding: 25px 20px 15px; }
  .sv-section-head h2 { font-size: 25px; }
  .sv-question { margin-bottom: 26px; }
  .sv-question-title { font-size: 15px; }
  .sv-choice { font-size: 12px; padding: 11px 10px; gap: 8px; }
  .sv-input { font-size: 16px; }
  .sv-form-footer { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
  .sv-draft-status { grid-column: 1 / -1; grid-row: 1; }
  #svNext { justify-self: end; min-width: 120px; grid-column: 2; }
  .sv-matrix-row { padding: 13px 9px; }
  .sv-choice--small { font-size: 11px; padding: 8px 2px; min-height: 44px; }
  .sv-matrix-options { gap: 4px; }
  .sv-site-footer { padding: 23px 20px; font-size: 9px; }
  .sv-success { padding: 40px 0; }
  .sv-success h2 { font-size: 27px; }
  .sv-admin { padding: 0 16px 28px; }
  .sv-admin-head h1 { font-size: 30px; }
  .sv-admin-actions { width: 100%; }
  .sv-admin-actions > * { flex: 1; padding: 10px 12px; font-size: 12px; }
  .sv-admin-filters { gap: 12px; padding: 16px; }
  .sv-admin-filters label { min-width: 130px; }
  .sv-admin-filters label:first-child { flex-basis: 100%; }
  .sv-admin-filters .sv-input { font-size: 16px; }
  .sv-metrics { grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 22px; }
  .sv-metrics article { padding: 18px; gap: 12px; }
  .sv-metrics strong { font-size: 30px; }
  .sv-charts { grid-template-columns: 1fr; gap: 12px; }
  .sv-chart { padding: 22px 18px; }
  .sv-table { min-width: 590px; }
  .sv-detail { padding: 22px 18px; width: calc(100% - 20px); max-height: 90dvh; }
  .sv-delete-form > div { flex-wrap: wrap; }
  .sv-delete-form button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sv-section { animation: none; }
  .sv-button, .sv-choice, .sv-input { transition: none; }
  #svProgress::-webkit-progress-value { transition: none; }
}

/* Research studio: scoped extension of paper / forest, no dashboard dependency. */
.sv-studio { display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 32px; align-items: start; }
.sv-studio-nav { position: sticky; top: 24px; }
.sv-studio-nav > .sv-kicker { color: var(--sv-muted); padding: 0 12px; }
.sv-admin-tabs button span { font: 11px ui-monospace, monospace; opacity: .65; }
.sv-admin-tabs button:hover { background: #e9eddf; }
.sv-studio-main { min-width: 0; }
.sv-nav-foot { padding: 0 12px; }
.sv-nav-foot p { font-size: 11px; color: var(--sv-muted); margin: 12px 0 4px; }
.sv-status-pill { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 1px solid #ccd8bd; border-radius: 99px; font-size: 11px; color: #47613b; background: #eef2e5; white-space: nowrap; }
.sv-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sv-panel-heading h2 { margin: 0; font-size: 16px; }
.sv-filter-panel { padding: 14px 20px 20px; border: 1px solid var(--sv-line); border-radius: 16px; background: var(--sv-paper); }
.sv-filter-panel > summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 14px; font-weight: 600; }
.sv-filter-panel > summary span { float: right; font-size: 11px; font-weight: 400; color: var(--sv-muted); }
.sv-filter-panel:not([open]) { padding-block: 8px; }
.sv-filter-panel.is-dirty { border-color: #afbf8c; }
.sv-filter-panel.is-dirty > summary span { color: #49602f; font-weight: 600; }
.sv-load-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0; padding: 12px 16px; border-left: 3px solid #b4c59d; background: #eaf0e233; border-radius: 0 8px 8px 0; }
.sv-load-status > div { min-width: 0; }
.sv-load-status .sv-hint { margin: 0; }
.sv-applied-filters { margin: 4px 0 0; font-size: 11px; color: var(--sv-muted); overflow-wrap: anywhere; }
.sv-applied-filters:empty { display: none; }
.sv-load-status[data-state='loading'] { border-color: #87996d; background: #edf0e4; }
.sv-load-status[data-state='error'] { border-color: #b97d48; background: #fcf1e3; }
.sv-load-status[data-state='error'] .sv-hint { color: #7a4a26; }
#svRetry { flex-shrink: 0; padding-inline: 8px; }
.sv-plain-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.sv-plain-fieldset:disabled { opacity: .6; }
.sv-timeline-detail { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--sv-line); }
.sv-timeline-detail summary { cursor: pointer; min-height: 44px; padding: 10px 0; font-size: 12px; color: #426238; }
#svTimelineData { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; max-height: 260px; overflow-y: auto; margin: 8px 0 0; padding-right: 8px; font-size: 12px; font-variant-numeric: tabular-nums; }
#svTimelineData > div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--sv-line); padding: 10px 0; }
#svTimelineData dt { color: var(--sv-muted); }
#svTimelineData dd { margin: 0; font-weight: 600; }
.sv-filter-panel .sv-admin-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; padding: 6px 0 0; gap: 12px 16px; }
.sv-filter-panel .sv-admin-filters label { min-width: 0; }
.sv-filter-panel .sv-input { min-height: 44px; padding: 9px 12px; }
.sv-filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding-top: 4px; }
.sv-filter-actions .sv-button { min-height: 44px; padding: 9px 20px; }
.sv-insights { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.sv-insights article { min-width: 0; padding: 24px; border: 1px solid var(--sv-line); border-radius: 16px; background: #edf0e3; }
.sv-insights article:nth-child(2) { background: var(--sv-paper); }
.sv-insights .sv-kicker { color: #6b7d4e; }
.sv-insights h2 { font: 600 21px/1.55 var(--sv-serif); letter-spacing: -.025em; margin-bottom: 10px; }
.sv-insights p:last-child { font-size: 12px; color: var(--sv-muted); margin-bottom: 0; }
.sv-timeline { margin-bottom: 20px; }
.sv-timeline-bars { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); align-items: end; gap: 5px; height: 100px; list-style: none; padding: 0; margin: 22px 0 8px; border-bottom: 1px solid var(--sv-line); }
.sv-timeline-bars li { display: flex; align-items: end; height: 100%; background: linear-gradient(to top, #edf1e6, transparent); }
.sv-timeline-bars li span { width: 100%; background: #819b65; border-radius: 3px 3px 0 0; }
.sv-timeline-axis { display: flex; justify-content: space-between; color: var(--sv-muted); font: 10px ui-monospace, monospace; }
.sv-legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 11px; color: var(--sv-muted); margin: 18px 0; }
.sv-legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 6px; background: #b5c995; border-radius: 2px; }
.sv-legend span:last-child::before { background: #335c40; }
.sv-priority { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 13px 0; border-top: 1px solid #e7ebdf; }
.sv-rank { font: 11px/1.8 ui-monospace, monospace; color: #80906d; }
.sv-dual-bars { display: grid; gap: 3px; margin-top: 9px; }
.sv-dual-bars span, .sv-dual-bars b { display: block; height: 5px; border-radius: 3px; background: #b5c995; }
.sv-dual-bars b { background: #335c40; }
.sv-cross-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0 18px; }
.sv-cross-controls label { min-width: 0; font-size: 12px; color: var(--sv-muted); display: grid; gap: 8px; }
.sv-cross-controls select { font-size: 13px; }
.sv-cross-table { table-layout: fixed; min-width: 1080px; }
.sv-cross-table caption { text-align: left; padding: 14px 18px; font-size: 13px; }
.sv-cross-table th:first-child { width: 170px; }
.sv-cross-table th, .sv-cross-table td { padding: 14px 12px; text-align: center; font-variant-numeric: tabular-nums; }
.sv-cross-table th:first-child { text-align: left; }
.sv-cross-table tbody th { background: #f4f5ed; border-top: 1px solid var(--sv-line); }
.sv-cross-table .has-value { background: #e8efde; }
.sv-cross-table td strong { font-weight: 600; font-size: 14px; }
.sv-voices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.sv-voice { min-width: 0; display: flex; flex-direction: column; padding: 24px; background: var(--sv-paper); border: 1px solid var(--sv-line); border-radius: 16px; }
.sv-voice .sv-kicker { color: #77875f; }
.sv-voice blockquote { margin: 4px 0 24px; font-size: 14px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.sv-voice footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--sv-line); font-size: 12px; }
.sv-voice small { display: block; color: var(--sv-muted); font-size: 10px; }
.sv-quality { margin-top: 20px; }
.sv-coverage { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; padding: 13px 0; border-top: 1px solid var(--sv-line); }
.sv-coverage b { white-space: nowrap; font-weight: 500; color: var(--sv-muted); }
.sv-methodology { margin-top: 24px; border-top: 1px solid var(--sv-line); color: var(--sv-muted); font-size: 12px; }
.sv-methodology summary { min-height: 48px; padding: 14px 0; cursor: pointer; }
.sv-methodology li { margin-bottom: 8px; }
.sv-field-label { display: block; font-size: 13px; margin: 0 0 10px; }
.sv-setting-actions { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
#svCollectionForm { margin-top: 24px; }
#svResearchContent[aria-busy='true'] { opacity: .45; pointer-events: none; }
.sv-chapter-status { display: inline-block; color: #537240; background: #edf1e4; padding: 5px 10px; margin-top: 16px; border-radius: 6px; font-size: 11px; }
.sv-review-section { border-top: 1px solid var(--sv-line); padding: 6px 0; }
.sv-review-section summary { padding: 12px 0; min-height: 48px; cursor: pointer; font-weight: 600; font-size: 14px; }
#svReview[open] { display: flex; flex-direction: column; overflow: hidden; }
#svReview .sv-detail-head, #svReview > .sv-hint { flex-shrink: 0; }
#svReviewBody { min-height: 0; overflow-y: auto; padding-right: 4px; }
#svReviewSubmit { width: 100%; flex-shrink: 0; margin-top: 16px; }
#svReviewBody .sv-answer { padding: 12px 0; }
@media (max-width: 1100px) {
  .sv-studio { grid-template-columns: 152px minmax(0, 1fr); gap: 20px; }
  .sv-metrics article { padding: 18px 14px; }
  .sv-insights h2 { font-size: 18px; }
}
@media (max-width: 850px) {
  .sv-studio { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sv-studio-nav { position: static; min-width: 0; }
  .sv-studio-nav > .sv-kicker, .sv-nav-foot { display: none; }
  .sv-admin-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; margin-bottom: 0; }
  .sv-admin-tabs button { flex: 0 0 auto; }
  .sv-admin-tabs button span { display: none; }
}
@media (max-width: 700px) {
  .sv-admin-head h1 { font-size: 29px; }
  .sv-admin-head { padding-bottom: 20px; }
  .sv-filter-panel { padding: 12px 14px 16px; }
  .sv-filter-panel .sv-admin-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sv-filter-panel .sv-admin-filters label:first-child, .sv-filter-panel .sv-admin-filters label:nth-child(3) { grid-column: 1 / -1; }
  .sv-filter-panel .sv-admin-filters label { font-size: 12px; }
  .sv-filter-actions { gap: 6px 14px; }
  .sv-filter-actions .sv-button { width: 100%; }
  .sv-insights, .sv-voices, .sv-cross-controls { grid-template-columns: minmax(0, 1fr); }
  .sv-insights article { padding: 20px; }
  .sv-metrics span { font-size: 11px; }
  .sv-priority .sv-bar-label { display: grid; gap: 3px; font-size: 12px; }
  .sv-filter-panel > summary span { float: none; display: block; margin-top: 2px; }
  .sv-load-status { align-items: flex-start; padding: 12px; }
  #svTimelineData { grid-template-columns: minmax(0, 1fr); max-height: 280px; }
  .sv-timeline-bars { gap: 3px; }
  .sv-coverage { display: grid; gap: 4px; }
  .sv-cross-controls select { font-size: 16px; }
  .research-survey[data-mode='respondent'] .sv-story { padding: 20px; }
  .research-survey[data-mode='respondent'] .sv-story h1 { font-size: 24px; }
  .research-survey[data-chapter]:not([data-chapter='0']) .sv-story h1,
  .research-survey[data-chapter]:not([data-chapter='0']) .sv-story__intro,
  .research-survey[data-chapter]:not([data-chapter='0']) .sv-story > .sv-kicker { display: none; }
  .sv-form-footer { position: sticky; bottom: 0; z-index: 2; background: var(--sv-paper); padding: 12px 0 max(12px, env(safe-area-inset-bottom)); }
  .sv-detail-head h2 { font-size: 24px; }
}
/* Application flow extends the research palette; no workspace navigation. */
.sv-beta { max-width: 1120px; margin: 36px auto 60px; padding: 0 32px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 64px; }
.sv-beta-intro { padding-top: 64px; position: sticky; top: 40px; }
.sv-beta-intro .sv-kicker { color: #728755; font-size: 9px; }
.sv-beta-intro h1 { font: 500 46px/1.45 var(--sv-serif); letter-spacing: -.045em; margin: 24px 0; }
.sv-beta-intro em { color: #749344; font-style: normal; }
.sv-beta-intro > p:last-child { color: var(--sv-muted); font-size: 13px; line-height: 2; }
.sv-beta-paper { padding: 30px 34px; }
.sv-beta-paper h2 { font: 600 25px/1.5 var(--sv-serif); margin: 12px 0; overflow-wrap: anywhere; }
.sv-beta-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 0 26px; margin: 0 0 32px; border-bottom: 1px solid var(--sv-line); gap: 12px; }
.sv-beta-steps li { position: relative; display: grid; justify-items: start; gap: 8px; color: #788170; font-size: 11px; }
.sv-beta-steps li:not(:last-child)::after { position: absolute; content: ''; left: 38px; right: 0; top: 15px; height: 1px; background: var(--sv-line); }
.sv-beta-steps span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #cdd7c0; border-radius: 50%; font: 10px ui-monospace, monospace; }
.sv-beta-steps strong { font-weight: 500; }
.sv-beta-steps [aria-current] { color: var(--sv-ink); }
.sv-beta-steps [aria-current] span { background: var(--sv-ink); border-color: var(--sv-ink); color: var(--sv-lime); }
.sv-beta-steps .is-done span { background: #e4edce; color: #345b32; border-color: #c7d5ac; }
#betaFields > label { margin: 26px 0 10px; font-size: 13px; }
#betaFields .sv-intro-note { margin-top: 24px; font-size: 11px; line-height: 1.85; color: var(--sv-muted); }
#betaContinue { width: 100%; }
.sv-beta-review { padding: 0; margin: 24px 0; border-top: 1px solid var(--sv-line); }
.sv-beta-review > div { padding: 16px 0; border-bottom: 1px solid var(--sv-line); }
.sv-beta-review dt { font-size: 11px; color: var(--sv-muted); }
.sv-beta-review dd { margin: 6px 0 0; font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
.sv-beta-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.sv-beta-actions .sv-button { flex: 1; }
.sv-beta-success { text-align: left; }
.sv-beta-success .sv-success__mark { margin: 0 0 24px; width: 44px; height: 44px; font-size: 21px; }
.sv-beta-success > p { font-size: 12px; line-height: 1.9; color: var(--sv-muted); }
.sv-beta-success .sv-beta-status { display: inline-block; margin: 10px 0; border: 1px solid #d5dfc4; border-radius: 20px; background: #edf2e4; padding: 4px 12px; color: #3e5d35; }
.sv-beta-success .sv-receipt { width: 100%; margin: 16px 0; }
.sv-beta-success > .sv-hint { margin-top: 18px; }
/* Research loop: the existing paper/forest palette, with task-sized controls. */
.sv-research-entry { max-width: 1024px; margin: 36px auto 64px; padding: 0 32px; }
.sv-research-entry > h1, .sv-manage h1 { font: 500 clamp(32px, 4vw, 52px)/1.35 var(--sv-serif); letter-spacing: -.035em; margin: 20px 0; }
.sv-research-entry em { color: #6c813d; font-style: normal; }
.sv-entry-intro { color: var(--sv-muted); line-height: 1.9; }
.sv-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 32px 0 20px; }
.sv-entry-options article { display: flex; align-items: flex-start; flex-direction: column; padding: 32px; border: 1px solid var(--sv-line); border-radius: 20px; background: var(--sv-paper); }
.sv-entry-options article:first-child { background: var(--sv-ink); color: var(--sv-paper); border-color: var(--sv-ink); }
.sv-entry-options h2 { font: 500 28px/1.45 var(--sv-serif); margin: 24px 0 14px; }
.sv-entry-options article > p:not(.sv-kicker) { font-size: 13px; line-height: 1.9; margin-bottom: 28px; }
.sv-entry-options .sv-button { margin-top: auto; min-height: 48px; }
.sv-entry-options article:first-child .sv-button { background: var(--sv-lime); color: var(--sv-ink); border-color: var(--sv-lime); }
.sv-entry-options article:first-child .sv-status-pill { color: #e5efce; background: #ffffff0a; border-color: #6c8162; }
.sv-entry-options .sv-kicker { margin: 0; min-height: 30px; display: flex; align-items: center; color: var(--sv-muted); }
.sv-entry-links { display: flex; flex-wrap: wrap; gap: 8px 26px; border-top: 1px solid var(--sv-line); padding-top: 20px; margin-top: 24px; font-size: 13px; }
.sv-entry-links a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 5px; }
.sv-manage { max-width: 720px; margin: 24px auto 56px; padding: 36px; }
.sv-manage h1 { font-size: clamp(30px, 4vw, 40px); }
.sv-manage form .sv-button { margin-top: 16px; }
.sv-manage > .sv-text-button { margin-top: 24px; }
#sxToken { font-family: ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.sv-withdraw { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--sv-line); }
.sv-withdraw h2 { font-size: 18px; }
.sv-withdraw p { font-size: 13px; color: var(--sv-muted); line-height: 1.9; }
#sxCredential { text-align: left; border-top: 1px solid var(--sv-line); padding-top: 24px; margin-top: 24px; }
#sxCredential .sv-setting-actions { flex-wrap: wrap; }
.sv-version-control { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: 16px 20px; margin: 0 0 24px; border: 1px solid var(--sv-line); border-radius: 14px; background: var(--sv-paper); font-size: 12px; }
.sv-version-control .sv-input { width: min(100%, 270px); margin: 0; }
.sv-version-control > span { color: var(--sv-muted); margin-left: auto; }
.sv-saved-views { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto; align-items: end; gap: 12px; border-top: 1px solid var(--sv-line); padding-top: 18px; margin-top: 18px; }
.sv-saved-views > label { display: grid; gap: 6px; min-width: 0; font-size: 12px; }
.sv-saved-views > .sv-hint { grid-column: 1 / -1; margin: 0; }
.sv-saved-views .sv-text-button { min-height: 44px; }
.sv-review-form { padding: 24px 0; margin-top: 20px; border-top: 1px solid var(--sv-line); }
.sv-review-form h2 { font: 500 23px/1.5 var(--sv-serif); }
.sv-review-form legend { margin-bottom: 12px; font-size: 12px; color: var(--sv-muted); }
.sv-review-form .sv-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-review-form .sv-choice { padding: 10px; min-height: 44px; font-size: 12px; }
.sv-issue-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.sv-issue { min-width: 0; padding: 20px; border: 1px solid var(--sv-line); border-radius: 12px; background: #f8f8ef; }
.sv-issue h3 { font-size: 17px; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; margin: 8px 0; }
.sv-issue > p { font-size: 12px; color: var(--sv-muted); }
.sv-issue .sv-panel-heading { flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.sv-issue-list > .sv-empty { grid-column: 1 / -1; }
#sxIssueFilter { max-width: 280px; display: block; }
#sxIssueDialog[open] { display: flex; flex-direction: column; overflow: hidden; }
#sxIssueDialog .sv-detail-head { flex-shrink: 0; }
#sxIssueForm { overflow: auto; min-height: 0; padding: 0 4px 4px; }
#sxIssueForm .sv-setting-actions { position: sticky; bottom: -4px; padding: 14px 0 4px; background: var(--sv-paper); border-top: 1px solid var(--sv-line); }
#sxIssueForm details { padding: 12px 0; }
#sxIssueForm summary { min-height: 44px; cursor: pointer; }
#sxIssueHistory { border-left: 1px solid var(--sv-line); padding-left: 20px; margin: 0 0 16px 8px; color: var(--sv-muted); font-size: 12px; }
#sxIssueHistory li { padding: 8px 0; overflow-wrap: anywhere; }
#sxIssueHistory p { color: var(--sv-ink); margin: 6px 0; white-space: pre-wrap; }
.sv-draft-list { display: grid; gap: 8px; margin-top: 22px; }
.sv-draft-link { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; text-align: left; border: 1px solid var(--sv-line); border-radius: 10px; background: #f8f8ef; color: var(--sv-ink); padding: 14px 16px; min-height: 60px; }
.sv-draft-link:hover { background: #edf2e4; border-color: #b7c6a5; }
.sv-draft-link span { min-width: 0; font-size: 13px; }
.sv-draft-link small { display: block; color: var(--sv-muted); font-size: 10px; overflow-wrap: anywhere; }
.sv-draft-link strong { font-size: 12px; font-weight: 500; flex-shrink: 0; }
.sv-source-review { padding: 18px; margin: 16px 0; background: #f5f6ed; border: 1px solid var(--sv-line); border-radius: 12px; }
.sv-source-review .sv-consent { margin-top: 0; }
.sv-source-review .sv-input { background: var(--sv-paper); font-size: 13px; line-height: 1.9; resize: vertical; min-height: 130px; }
.sv-source-review .sv-text-button { margin-top: 8px; }
#sxDraftResult { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--sv-line); }
#sxDraftResult:empty { display: none; }
#sxDraftResult h3 { font: 500 22px/1.5 var(--sv-serif); margin: 26px 0 12px; }
.sv-finding { border-left: 3px solid #bdcb96; padding: 12px 16px; background: #f5f6ed; margin-bottom: 12px; }
.sv-finding p { font-size: 14px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 10px; }
.sv-finding small { color: var(--sv-muted); font-size: 11px; }
.sv-finding .sv-text-button { min-height: 44px; padding: 4px 8px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) { .sv-saved-views { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .sv-research-entry { margin: 20px auto 36px; padding: 0 20px; }
  .sv-entry-options { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 24px; }
  .sv-entry-options article { padding: 24px; }
  .sv-entry-options h2 { font-size: 25px; margin-top: 18px; }
  .sv-entry-options .sv-button { width: 100%; }
  .sv-entry-intro { font-size: 13px; }
  .sv-entry-links { gap: 4px 18px; }
  .sv-manage { margin: 12px 16px 30px; padding: 24px 20px; }
  .sv-manage .sv-button { width: 100%; }
  .sv-version-control { gap: 8px; padding: 14px; }
  .sv-version-control .sv-input { width: 100%; font-size: 16px; }
  .sv-version-control > span { margin: 0; }
  .sv-review-form .sv-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-issue-list { grid-template-columns: minmax(0, 1fr); }
  .sv-source-review { padding: 14px; }
  .sv-source-review .sv-input { font-size: 16px; }
  .sv-response-wrap { overflow: visible; border: 0; background: transparent; }
  .sv-response-table { display: block; min-width: 0; width: 100%; border: 0; background: transparent; }
  .sv-response-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .sv-response-table tbody { display: grid; gap: 12px; }
  .sv-response-table tr { display: grid; padding: 16px; border: 1px solid var(--sv-line); border-radius: 14px; background: var(--sv-paper); }
  .sv-response-table td { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 10px; padding: 9px 0; border: 0; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
  .sv-response-table td::before { content: attr(data-label); color: var(--sv-muted); font-size: 11px; padding-top: 2px; }
  .sv-response-table td:last-child { display: flex; justify-content: flex-end; border-top: 1px solid var(--sv-line); padding: 10px 0 0; margin-top: 6px; }
  .sv-response-table td:last-child::before { margin-right: auto; }
  .sv-response-table td:last-child button { min-height: 44px; padding: 8px 14px; background: #edf2e4; border-radius: 8px; }
  .sv-response-table td[colspan] { display: block; }
  .sv-response-table td[colspan]::before { display: none; }
}
#betaAdminRows select { min-width: 110px; font-size: 12px; }
.sq-dialog { max-width: min(740px, calc(100vw - 32px)); }
.sq-dialog-body { padding: 24px; min-width: 0; }
.sq-dialog-body > .sv-button { margin-top: 20px; }
.sq-dialog-body .sv-field-label { margin-top: 20px; }
.sq-dialog-body .sv-input { line-height: 1.7; }
.sq-sample { display: flex; gap: 12px; padding: 16px; margin: 10px 0; border: 1px solid var(--sv-line); border-radius: 12px; background: var(--sv-paper); cursor: pointer; }
.sq-sample:has(input:checked) { border-color: #81946c; background: #eef2e3; }
.sq-sample input { flex-shrink: 0; margin-top: 5px; width: 18px; height: 18px; accent-color: var(--sv-ink); }
.sq-sample > span { display: grid; gap: 6px; min-width: 0; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; white-space: pre-wrap; }
.sq-sample small { color: var(--sv-muted); }
.sq-evidence { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; padding: 0 4px; }
.sq-coverage { border: 1px solid var(--sv-line); border-radius: 12px; padding: 16px; margin: 22px 0; }
.sq-coverage summary { cursor: pointer; font-size: 14px; font-weight: 600; min-height: 30px; }
.sq-coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.sq-coverage-grid p { display: grid; gap: 5px; margin: 0; padding: 12px; background: #f0f2e8; border-radius: 8px; font-size: 12px; }
.sq-coverage-grid span { color: var(--sv-muted); overflow-wrap: anywhere; }
#sqDecisions h3, .sq-report-form h3, #sqStudyMetrics h3 { font: 500 24px/1.4 var(--sv-serif); margin: 26px 0 16px; }
.sq-finding { border-radius: 0 12px 12px 0; padding: 18px; }
.sq-finding[data-state=accepted] { border-left-color: #3e6544; }
.sq-finding[data-state=insufficient] { background: #f7f1e4; border-left-color: #b6944c; }
.sq-finding[data-state=rejected] { background: #f0f0eb; border-left-color: #8b8d82; }
.sq-finding .sv-status-pill { margin-bottom: 12px; }
.sq-report-form { border-top: 1px solid var(--sv-line); margin-top: 30px; padding-top: 28px; }
.sq-report-form .sv-field-label { display: block; margin-top: 18px; }
.sq-metric-card { background: #f5f6ed; border: 1px solid var(--sv-line); border-radius: 14px; margin: 14px 0; padding: 20px; overflow-wrap: anywhere; }
.sq-metric-card h4 { font: 500 20px/1.5 var(--sv-serif); margin: 12px 0; }
.sq-metric-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 20px 0; }
.sq-metric-grid p { display: grid; gap: 8px; margin: 0; }
.sq-metric-grid strong { font: 500 28px/1.2 var(--sv-serif); }
.sq-metric-grid span { font-size: 11px; color: var(--sv-muted); }
.sq-task-instructions { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; padding: 18px 0; }
.sq-trial h1 { font: 500 clamp(28px,4vw,42px)/1.4 var(--sv-serif); overflow-wrap: anywhere; }
.sq-trial-steps { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0 0 16px 20px; font-size: 12px; }
.sq-trial .sv-field-label { margin-top: 20px; }
#sqTrialForm > button { margin: 24px 0; }
.sq-report { max-width: 880px; margin: 40px auto; padding: 60px; background: var(--sv-paper); border: 1px solid var(--sv-line); box-shadow: 0 16px 64px #183a2c08; }
.sq-report-cover { border-bottom: 2px solid var(--sv-ink); padding-bottom: 36px; margin-bottom: 40px; }
.sq-report-cover h1 { font: 500 38px/1.4 var(--sv-serif); margin: 28px 0 20px; }
.sq-report-cover small { overflow-wrap: anywhere; color: var(--sv-muted); }
.sq-report section { margin: 30px 0; }
.sq-report h2 { font: 500 24px/1.6 var(--sv-serif); break-after: avoid; }
.sq-report h2 span { font: 12px/1 system-ui; color: var(--sv-muted); margin-right: 16px; }
.sq-report p { font-size: 14px; line-height: 1.95; white-space: pre-wrap; overflow-wrap: anywhere; orphans: 3; widows: 3; }
.sq-report footer { padding-top: 24px; border-top: 1px solid var(--sv-line); font-size: 11px; color: var(--sv-muted); }
@media (max-width: 700px) {
  .sq-dialog-body { padding: 20px 16px; }
  .sq-dialog-body .sv-input { font-size: 16px; }
  .sq-coverage-grid { grid-template-columns: minmax(0,1fr); }
  .sq-metric-card { padding: 16px; }
  .sq-metric-grid { gap: 16px 10px; }
  .sq-metric-grid strong { font-size: 24px; }
  .sq-report { padding: 24px 20px; margin: 16px; }
  .sq-report-cover h1 { font-size: 28px; }
  .sq-trial .sv-status-pill { white-space: normal; }
}
@media print {
  @page { size: A4; margin: 18mm 16mm; }
  body[data-mode=research-report] { background: white; }
  [data-mode=research-report] .sv-topbar { display: none; }
  .sq-report { max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; background: white; color: #18291f; }
  .sq-report h1 { font-size: 26pt; }
  .sq-report h2 { font-size: 17pt; }
  .sq-report p { font-size: 10pt; }
}
#betaAdminRows td:last-child { min-width: 100px; }
@media (max-width: 800px) {
  .sv-beta { display: block; max-width: 580px; padding: 0 16px; margin: 12px auto 30px; }
  .sv-beta-intro { position: static; padding: 16px 8px 18px; }
  .sv-beta-intro h1 { font-size: 34px; line-height: 1.35; margin: 14px 0; }
  .sv-beta-intro > p:last-child { font-size: 12px; margin-bottom: 0; }
  .sv-beta-paper { padding: 24px 20px; }
  .sv-beta-paper .sv-input { font-size: 16px; }
  .sv-beta-paper h2 { font-size: 23px; }
  .sv-beta-steps { margin-bottom: 25px; }
}
/* v3 research evidence: quiet paper surfaces, precise source hierarchy. */
.sv-question-purpose { margin: 12px 0 0; font-size: 12px; color: var(--sv-muted); }
.sv-question-purpose summary { cursor: pointer; width: fit-content; padding: 8px 0; }
.sv-question-purpose p { padding: 12px 16px; border-left: 2px solid var(--sv-ink); line-height: 1.8; background: #183a2c05; }
.sv-device-draft { margin: 24px 0 12px; padding: 18px 20px; border: 1px solid var(--sv-line); border-radius: 12px; background: #183a2c04; }
.sv-device-draft .sv-consent { margin: 0; }
.sv-device-draft .sv-hint { margin: 10px 0; }
.se-materials { border: 1px solid var(--sv-line); border-radius: 16px; margin: 20px 0; background: var(--sv-paper); overflow: clip; }
.se-materials > summary { padding: 20px; cursor: pointer; font-weight: 600; color: var(--sv-ink); }
.se-materials > .sv-hint { margin: 0; padding: 0 20px 16px; }
.se-materials #sxDraftSources { padding: 0 20px 20px; }
.se-source { padding: 16px; border: 1px solid var(--sv-line); border-radius: 12px; margin: 14px 0; background: #fffefb; }
.se-source > .sv-consent { margin: 0; }
.se-segment { margin-top: 12px; border-top: 1px solid var(--sv-line); }
.se-segment > summary { cursor: pointer; padding: 12px 0; color: var(--sv-ink); font-size: 13px; line-height: 1.7; }
.se-segment textarea { line-height: 1.85; min-height: 120px; }
.se-segment .sv-consent { font-size: 12px; margin: 4px 0 12px; }
.se-citations { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 12px; }
.se-citations button { padding: 8px 0; font-size: 12px; }
.se-quote-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.95; font-size: 15px; color: var(--sv-ink); }
.se-quote-text mark { color: #183a2c; background: #dfeba6; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 2px 1px; }
.se-review-quote { padding: 18px 0; border-bottom: 1px solid var(--sv-line); }
.se-review-quote > label { display: grid; gap: 8px; margin: 16px 0; font-size: 12px; }
.se-review-quote details { font-size: 12px; }
.se-review-quote summary { cursor: pointer; padding: 10px 0; }
.se-review-actions { position: sticky; bottom: 0; z-index: 2; padding: 14px 0 max(14px, env(safe-area-inset-bottom)); margin-top: 20px; background: var(--sv-paper); border-top: 1px solid var(--sv-line); display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.se-review-actions .sv-hint { margin: 0; }
.se-compare { margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--sv-line); }
.se-compare h3 { font: 500 24px/1.5 var(--sv-serif); }
.se-compare > label { display: grid; gap: 8px; font-size: 12px; }
.se-compare .sv-cross-controls { margin: 16px 0; }
.se-compare-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.se-compare-columns article { padding: 20px; border: 1px solid var(--sv-line); background: var(--sv-paper); border-radius: 12px; min-width: 0; }
.se-compare-columns article:last-child { background: #183a2c05; }
.se-compare-columns h4 { font: 500 24px/1.4 var(--sv-serif); margin: 12px 0; overflow-wrap: anywhere; }
.se-compare-columns dt { color: var(--sv-muted); font-size: 11px; margin-top: 18px; line-height: 1.7; }
.se-compare-columns dd { margin: 6px 0 0; font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
.se-differences { border-top: 1px solid var(--sv-line); margin: 20px 0 0; }
.se-differences > div { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--sv-line); font-size: 12px; }
.se-differences dd { margin: 0; text-align: right; }
@media (max-width: 700px) {
  .sv-device-draft { padding: 16px; }
  .se-materials > summary { padding: 16px; }
  .se-materials #sxDraftSources { padding: 0 12px 12px; }
  .se-source { padding: 12px; }
  .se-review-actions { margin-right: -16px; margin-left: -16px; padding-left: 16px; padding-right: 16px; }
  .se-review-actions .sv-button { width: 100%; }
  .se-review-actions .sv-hint { font-size: 11px; }
  .se-compare-columns { gap: 8px; }
  .se-compare-columns article { padding: 12px; }
  .se-compare-columns h4 { font-size: 20px; }
  .se-compare-columns dd { font-size: 13px; }
}
/* Research operations extend the existing paper/forest system, not global controls. */
.research-survey .so-consent-panel { margin: 0 0 24px; padding: 18px 20px; border: 1px solid #d9dfd3; border-radius: 16px; background: #f0f3eb; }
.research-survey .so-consent-panel summary { cursor: pointer; color: #244332; font-size: 13px; font-weight: 600; line-height: 1.6; }
.research-survey .so-consent-panel .sv-consent { margin-top: 16px; }
.research-survey .so-panel { margin-top: 20px; }
.research-survey .so-panel h2 { margin: 10px 0 14px; font-family: Georgia, 'Songti SC', SimSun, serif; font-size: clamp(22px, 3vw, 30px); font-weight: 500; }
.research-survey .so-panel .sv-hint { max-width: 76ch; }
.research-survey #soShareDialog { width: min(760px, calc(100vw - 32px)); max-height: 88dvh; padding: 0; border: 1px solid #dce0d6; border-radius: 22px; background: #fffcf6; color: #183a2c; }
.research-survey #soShareDialog::backdrop { background: rgb(20 36 28 / 46%); backdrop-filter: blur(5px); }
.research-survey #soShareDialog .sv-detail-head { position: sticky; top: 0; z-index: 2; padding: 22px 26px; border-bottom: 1px solid #e3e5dc; background: #fffcf6; }
.research-survey #soShareDialog .sq-dialog-body { padding: 22px 26px 30px; }
.research-survey #soShareRows { display: grid; gap: 12px; margin: 20px 0; }
.research-survey .so-share-row { min-width: 0; border: 1px solid #dce1d5; border-radius: 14px; padding: 14px 18px; background: #f7f8f1; }
.research-survey .so-share-row .sv-consent { margin: 0 0 12px; }
.research-survey .so-share-row summary { color: #425a4a; cursor: pointer; padding: 8px 0; font-size: 13px; }
.research-survey .so-share-row dl { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 10px 18px; font-size: 13px; line-height: 1.8; }
.research-survey .so-share-row dt { color: #536253; }
.research-survey .so-share-row dd { margin: 0; color: #203d2e; white-space: pre-wrap; overflow-wrap: anywhere; }
.research-survey #soShareConfirm { flex: 0 0 auto; }
.research-survey #soRetentionRows { display: grid; gap: 10px; margin: 16px 0; }
.research-survey #soRetentionRows .sq-sample { align-items: flex-start; padding: 16px; border: 1px solid #dce1d5; border-radius: 12px; background: #f7f8f1; }
.research-survey #soRetentionRows small { display: block; margin: 5px 0; color: #586951; }
.research-survey .so-reach-summary { display: flex; align-items: center; gap: 20px; padding: 22px 0; }
.research-survey .so-reach-summary > strong { font-family: Georgia, serif; font-size: clamp(30px, 5vw, 46px); font-weight: 400; font-variant-numeric: tabular-nums; }
.research-survey .so-reach-summary > span { color: #536253; font-size: 13px; line-height: 1.8; }
.research-survey .so-reach-list { padding: 0; margin: 0; list-style: none; }
.research-survey .so-reach-list li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid #e1e5d9; font-size: 14px; line-height: 1.6; }
.research-survey .so-reach-list strong { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.research-survey .so-verification { margin: 28px 0; padding: 24px; border: 1px solid #d7dfd0; border-radius: 20px; background: #f0f3eb; }
.research-survey .so-verification h2 { font-family: Georgia, 'Songti SC', SimSun, serif; font-size: 24px; font-weight: 500; }
.research-survey .so-verification button { margin: 8px 8px 8px 0; max-width: 100%; white-space: normal; }
.research-survey #soRecordLabel { display: grid; gap: 10px; margin: 16px 0; font-size: 13px; }
.research-survey #soRecordLabel[hidden] { display: none; }
.research-survey .so-verification select { min-width: 0; max-width: 100%; }
.research-survey .so-verification [role=status] { min-height: 1.8em; margin-bottom: 0; }
@media (max-width: 600px) {
 .research-survey .so-consent-panel { padding: 14px 16px; }
 .research-survey #soShareDialog { width: calc(100vw - 16px); max-height: 92dvh; border-radius: 18px; }
 .research-survey #soShareDialog .sv-detail-head, .research-survey #soShareDialog .sq-dialog-body { padding: 18px; }
 .research-survey .so-share-row { padding: 14px; }
 .research-survey .so-share-row dl { grid-template-columns: 1fr; gap: 4px; }
 .research-survey .so-share-row dd { padding-bottom: 12px; }
 .research-survey .so-verification { padding: 18px; }
 .research-survey .so-verification h2 { font-size: 22px; }
 .research-survey .so-verification .sv-button { width: 100%; margin-right: 0; }
 .research-survey .so-panel .sv-button, .research-survey #soShareDownload { min-height: 44px; white-space: normal; }
}
