.author-screen { background: #fff; }
.author-header { position: sticky; top: 0; z-index: 40; }
.author-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.author-sidebar { position: sticky; top: 64px; height: calc(100vh - 64px); padding: 38px 22px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.author-sidebar > .eyebrow { font-size: 9px; margin: 0 0 27px; }
.author-sidebar nav { display: grid; gap: 8px; }
.author-sidebar nav a { display: flex; justify-content: space-between; padding: 11px 0; font-size: 13px; color: var(--ink-soft); }
.author-sidebar nav a span { font-size: 10px; color: #8b959e; }
.author-sidebar nav a.active { color: #750014; font-weight: 600; }
.author-sidebar-book { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 36px; }
.author-sidebar-book > span { display: block; font-size: 9px; margin-bottom: 10px; }
.author-sidebar-book strong { font-size: 13px; font-weight: 500; line-height: 1.5; display: block; }
.author-sidebar-book p { font-size: 11px; color: #727272; line-height: 1.5; }
.author-sidebar-book a { font-size: 11px; color: #750014; }
.author-sidebar-note { margin-top: auto; font-size: 10px; color: #727272; line-height: 1.6; }
.author-main { max-width: 1480px; width: 100%; padding: 42px 46px 36px; min-width: 0; }
.author-title-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.author-title-row .eyebrow { font-size: 10px; margin: 0 0 9px; }
.author-title-row h1 { font-size: 36px; letter-spacing: -.045em; font-weight: 500; margin: 0; }
.author-subtitle { color: #626a73; font-size: 13px; line-height: 1.6; margin: 10px 0 0; }
.author-demo-label { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 11px; color: #750014; }
.author-demo-label i { width: 6px; height: 6px; background: #750014; border-radius: 50%; }
.author-controls { display: flex; align-items: end; gap: 24px; padding: 27px 0 14px; flex-wrap: wrap; }
.author-controls label { display: grid; gap: 7px; }
.author-controls label > span { font-size: 10px; color: #727272; }
.author-controls select, .author-filter-label select { background: #fff; border: 1px solid #dde1e6; border-radius: 4px; padding: 9px 30px 9px 10px; font-size: 12px; color: #212326; max-width: 100%; }
.author-book-label { flex: 1; min-width: 180px; max-width: 370px; }
.author-book-label select { min-width: 0; width: 100%; }
.author-date-range { font-size: 11px; color: #727272; padding-bottom: 10px; margin-left: auto; }
.author-data-notice { font-size: 11px; color: #727272; margin: 0 0 30px; }
.author-status { padding: 36px 0; font-size: 14px; color: #727272; }
.author-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 26px 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 24px; }
.author-metric span { display: block; font-size: 11px; color: #626a73; margin-bottom: 12px; }
.author-metric strong { display: block; font-size: 32px; font-weight: 500; letter-spacing: -.04em; }
.author-metric small { display: block; color: #727272; font-size: 10px; margin-top: 7px; line-height: 1.5; }
.author-metric.accent strong { color: #750014; }
.author-chart-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; }
.author-section { padding-top: 34px; scroll-margin-top: 90px; min-width: 0; }
.author-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.author-section-heading h2 { margin: 0; font-size: 19px; font-weight: 500; letter-spacing: -.025em; line-height: 1.35; }
.author-section-heading p:not(.eyebrow) { color: #727272; font-size: 11px; line-height: 1.5; margin: 6px 0 0; }
.author-section-heading .eyebrow { font-size: 9px; margin: 0 0 8px; }
.chart-legend { display: flex; flex-direction: column; gap: 6px; white-space: nowrap; }
.chart-legend span { font-size: 9px; color: #727272; display: flex; align-items: center; gap: 5px; }
.chart-legend i { background: #8b959e; height: 2px; width: 12px; }
.chart-legend i.red { background: #750014; }
#activity-chart { width: 100%; height: 240px; display: block; overflow: visible; }
#activity-chart text { font-family: var(--sans); font-size: 11px; fill: #727272; }
.difficulty-chart { display: grid; gap: 15px; }
.difficulty-row { width: 100%; padding: 0; background: transparent; border: 0; display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 6px 12px; cursor: pointer; text-align: left; }
.difficulty-row span { font-size: 12px; color: #4e4e4e; }
.difficulty-row strong { color: #750014; font-size: 12px; font-weight: 500; text-align: right; }
.difficulty-track { height: 3px; background: #f0f0f0; grid-column: 1 / -1; }
.difficulty-track i { display: block; height: 3px; background: #8b959e; }
.difficulty-row:hover span, .difficulty-row.selected span { color: #750014; }
.difficulty-row.selected .difficulty-track i { background: #750014; }
.chart-footnote { font-size: 10px; color: #727272; margin-top: 18px; }
.concept-section, .question-section, .explanation-section { border-top: 1px solid var(--line); margin-top: 32px; }
.author-text-link, .author-text-button { color: #750014; font-size: 11px; white-space: nowrap; }
.author-text-link { padding-top: 5px; }
.author-concept-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 30px; }
.author-mini-map { height: 360px; position: relative; }
#author-map-edges { position: absolute; width: 100%; height: 340px; overflow: visible; }
#author-map-edges path { fill: none; stroke: #dde1e6; stroke-width: 1.3; }
#author-map-edges path.active { stroke: #750014; }
#author-map-nodes { position: absolute; inset: 0 0 20px; }
.author-map-node { position: absolute; transform: translate(-50%, -50%); width: 124px; min-height: 54px; border: 1px solid #dde1e6; border-radius: 4px; background: #fff; cursor: pointer; padding: 9px; text-align: left; display: grid; grid-template-columns: 1fr auto; gap: 4px; }
.author-map-node strong { font-size: 11px; font-weight: 500; line-height: 1.3; }
.author-map-node small { font-size: 8px; color: #727272; grid-column: 1 / -1; }
.author-map-node span { font-size: 10px; color: #750014; }
.author-map-node.selected { border-color: #750014; }
.author-map-node:hover { border-color: #8b959e; }
.author-map-caption { position: absolute; bottom: 0; margin: 0; font-size: 10px; color: #727272; }
.author-concept-detail { border-left: 1px solid var(--line); padding-left: 24px; }
.author-concept-detail .eyebrow { font-size: 9px; margin: 0 0 10px; }
.author-concept-detail h3 { font-size: 22px; font-weight: 500; margin: 0; letter-spacing: -.025em; }
.author-concept-detail > p { font-size: 12px; line-height: 1.65; color: #626a73; }
.author-detail-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0; }
.author-detail-stats strong { display: block; font-size: 23px; font-weight: 500; }
.author-detail-stats span { display: block; font-size: 10px; color: #727272; margin-top: 5px; }
.author-concept-detail a { display: inline-block; margin: 8px 0; font-size: 11px; color: #750014; }
.author-detail-recommendation { border-top: 1px solid var(--line); padding-top: 16px; }
.author-table-wrap { overflow-x: auto; }
.author-table { width: 100%; border-collapse: collapse; text-align: left; }
.author-table th { font-size: 10px; color: #727272; font-weight: 500; padding: 0 15px 13px 0; }
.author-table td { padding: 17px 15px 17px 0; border-top: 1px solid var(--line); font-size: 12px; }
.author-table td:first-child { width: 62%; }
.author-table td > strong { font-size: 12px; font-weight: 400; display: block; line-height: 1.5; }
.author-table td > small { display: block; font-size: 10px; color: #727272; margin-top: 5px; }
.author-table button { border: 0; background: transparent; padding: 6px; font-size: 11px; color: #750014; cursor: pointer; }
.author-table .author-question-title { padding: 0; font-size: 12px; text-align: left; color: #171717; line-height: 1.5; }
.author-question-title:hover, .question-is-open .author-question-title { color: #750014; }
.author-table .question-outcome-row > td { padding: 0 0 26px; border-top: 0; }
.question-outcomes { padding: 20px 24px 5px; border-left: 2px solid #e3e3e3; }
.question-outcomes-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 24px; }
.question-outcomes-heading .eyebrow { font-size: 9px; margin: 0 0 8px; }
.question-outcomes-heading h3 { font-size: 16px; font-weight: 500; margin: 0; }
.question-outcomes-heading > span { font-size: 10px; color: #727272; }
.question-approach-chart { display: grid; gap: 20px; max-width: 780px; }
.question-approach-label { display: flex; justify-content: space-between; gap: 15px; }
.question-approach-label strong { font-size: 12px; font-weight: 400; color: #4e4e4e; }
.question-approach-label span { font-size: 12px; color: #4e4e4e; font-variant-numeric: tabular-nums; }
.question-approach-track { height: 4px; background: #f0f0f0; margin-top: 9px; }
.question-approach-track i { display: block; height: 4px; background: #8b959e; }
.question-approach.best .question-approach-track i { background: #750014; }
.question-approach.best .question-approach-label :is(strong, span) { color: #750014; }
.question-approach p { font-size: 10px; color: #727272; margin: 7px 0 0; line-height: 1.5; }
.question-outcomes-recommendation { font-size: 12px; color: #4e4e4e; line-height: 1.6; margin: 25px 0 7px; }
.question-outcomes-caveat { font-size: 10px; color: #727272; line-height: 1.6; margin: 0; }
.question-outcomes-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 16px; }
.question-outcomes-links a { font-size: 11px; color: #750014; }
.author-rate { display: inline-flex; align-items: center; gap: 7px; font-variant-numeric: tabular-nums; }
.author-rate i { width: 4px; height: 4px; background: #8b959e; border-radius: 50%; }
.author-rate.high { color: #750014; }
.author-rate.high i { background: #750014; }
.author-text-button { border: 0; background: transparent; padding: 16px 0 0; cursor: pointer; }
.author-ranking-label { font-size: 10px; color: #727272; max-width: 160px; line-height: 1.5; text-align: right; }
.author-explanations { display: grid; }
.author-explanation { display: grid; grid-template-columns: 25px minmax(0, 1fr) 110px 90px; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line); align-items: start; }
.author-explanation-rank { font-size: 11px; color: #727272; padding-top: 3px; }
.author-explanation h3 { font-size: 14px; font-weight: 500; margin: 0; }
.author-explanation p { font-size: 12px; line-height: 1.6; color: #626a73; margin: 8px 0; max-width: 500px; }
.author-explanation small { font-size: 10px; color: #727272; }
.author-explanation-value strong { display: block; font-size: 20px; font-weight: 500; }
.author-explanation-value span { display: block; font-size: 10px; color: #727272; line-height: 1.5; margin-top: 6px; }
.author-explanation:first-child .author-explanation-value strong { color: #750014; }
.author-methodology { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 25px; }
.author-methodology > span { font-size: 11px; font-weight: 500; }
.author-methodology p { font-size: 11px; line-height: 1.7; color: #727272; max-width: 900px; }
.author-question-dialog { width: min(560px, calc(100% - 32px)); border: 1px solid #dde1e6; border-radius: 6px; padding: 34px; color: #171717; background: #fff; }
.author-question-dialog::backdrop { background: rgba(0, 0, 0, .3); }
.author-dialog-close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; color: #727272; font-size: 22px; cursor: pointer; }
.author-question-dialog h2 { font-size: 23px; font-weight: 500; line-height: 1.4; margin: 15px 0; }
.author-question-dialog p { font-size: 13px; line-height: 1.7; color: #626a73; }
.author-question-dialog .eyebrow { font-size: 10px; }
.author-question-dialog a { font-size: 12px; color: #750014; }
.graph-author-link { font-size: 11px; color: #750014; }
.concept-author-insight { border-top: 1px solid #e3e3e3; padding-top: 15px; margin-top: 18px; }
.concept-author-insight h4 { margin: 0 0 10px; font-size: 12px; font-weight: 500; }
.concept-author-insight p { font-size: 11px; color: #626a73; line-height: 1.65; }
.concept-author-insight a { color: #750014; font-size: 11px; }
.concept-node .concept-friction { position: absolute; right: 7px; bottom: 5px; color: #750014; font-size: 9px; background: #fff; }
.concept-node.has-friction { padding-bottom: 20px; }
@media (max-width: 1150px) {
  .author-layout { grid-template-columns: 165px minmax(0, 1fr); }
  .author-sidebar { padding: 35px 18px; }
  .author-main { padding: 35px 30px; }
  .author-chart-grid { grid-template-columns: 1fr; gap: 0; }
  .author-concept-layout { grid-template-columns: 1fr; }
  .author-concept-detail { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 20px; }
  .difficulty-chart { grid-template-columns: 1fr 1fr; gap: 18px 30px; }
}
@media (max-width: 760px) {
  .question-outcomes { padding: 18px 12px 5px; }
  .question-outcomes-heading { flex-direction: column; align-items: start; gap: 8px; }
  .author-layout { grid-template-columns: 1fr; }
  .author-sidebar { position: static; height: auto; padding: 15px 20px; border-right: 0; border-bottom: 1px solid var(--line); }
  .author-sidebar > .eyebrow, .author-sidebar-book, .author-sidebar-note { display: none; }
  .author-sidebar nav { display: flex; justify-content: space-between; gap: 12px; }
  .author-sidebar nav a { font-size: 11px; }
  .author-sidebar nav a span { display: none; }
  .author-main { padding: 28px 20px; }
  .author-title-row h1 { font-size: 30px; }
  .author-metrics { grid-template-columns: 1fr 1fr; gap: 26px; }
  .author-metric strong { font-size: 27px; }
  .author-date-range { margin-left: 0; }
  .author-controls { gap: 16px; }
  .author-book-label { flex-basis: 100%; max-width: none; }
  .author-section-heading { flex-wrap: wrap; gap: 12px; }
  .difficulty-chart { grid-template-columns: 1fr; }
  .author-mini-map { height: auto; }
  #author-map-edges { display: none; }
  #author-map-nodes { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .author-map-node { position: static; transform: none; width: 100%; }
  .author-map-caption { position: static; margin-top: 15px; }
  .author-explanation { grid-template-columns: 20px minmax(0, 1fr); gap: 12px; }
  .author-explanation-value { grid-column: 2; display: flex; gap: 12px; align-items: center; }
  .author-ranking-label { text-align: left; max-width: none; }
  .graph-author-link { display: none; }
}
