:root {
  color-scheme:light;
  --bg:#f7f8fb;
  --surface:#fff;
  --ink:#172033;
  --muted:#576174;
  --line:#e1e5ed;
  --brand:#5947b4;
  --purple:#efebfb;
  --green:#196548;
  --green-bg:#edf7f1;
  --amber:#745017;
}
* {
  box-sizing:border-box;
}
html {
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans JP",sans-serif;
  line-height:1.65;
}
a {
  color:var(--brand);
  text-underline-offset:3px;
}
a:hover {
  text-decoration-thickness:2px;
}
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--brand);
  outline-offset:5px;
  border-radius:4px;
}
p {
  margin:10px 0;
  white-space:pre-wrap;
}
h1,h2,h3,h4,h5 {
  line-height:1.4;
}
h1 {
  font-size:38px;
  letter-spacing:-.03em;
  margin:8px 0 20px;
}
h2 {
  font-size:25px;
  margin:6px 0 12px;
}
h3 {
  font-size:19px;
  margin:14px 0 10px;
}
h4,h5 {
  font-size:14px;
  margin:12px 0 6px;
}
ul {
  padding-left:23px;
}
li {
  margin:6px 0;
}
small,.small {
  font-size:12px;
}
.muted,small,dt {
  color:var(--muted);
}
.shell {
  max-width:1240px;
  margin:auto;
  padding:26px 28px 60px;
}
.topbar {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:24px;
}
.brand-link {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--ink);
  font-size:20px;
  font-weight:800;
}
.brand-mark {
  display:grid;
  place-items:center;
  background:var(--brand);
  color:white;
  border-radius:10px;
  width:34px;
  height:34px;
}
.hero {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);
  gap:30px;
  background:linear-gradient(130deg,#fff,#f3effc);
  border:1px solid #e2daf5;
  border-radius:24px;
  padding:30px;
}
.eyebrow {
  font-size:12px;
  letter-spacing:.07em;
  font-weight:700;
  color:var(--brand);
  margin:0 0 9px;
}
.takeaway {
  font-size:22px;
  font-weight:700;
  line-height:1.65;
}
.lesson-meta {
  background:#ffffffb8;
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px;
}
.lesson-meta h2 {
  font-size:16px;
}
.meta {
  margin:0;
}
.meta>div {
  display:grid;
  grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);
  gap:15px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
}
dt {
  font-size:12px;
}
dd {
  margin:0;
  overflow-wrap:anywhere;
}
.meta>div:last-child {
  border-bottom:0;
}
.card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:17px;
  padding:22px;
}
.coverage {
  margin-top:16px;
}
.notice {
  background:#fbf7ec;
  border:1px solid #e6d8b9;
  border-radius:12px;
  padding:14px 18px;
  color:#624a23;
  font-size:13px;
  margin:14px 0;
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:18px 0;
}
.stat {
  display:flex;
  flex-direction:column;
  padding:18px 22px;
}
.stat strong {
  font-size:28px;
  line-height:1.4;
}
.stat span {
  font-size:12px;
  color:var(--muted);
}
.section-nav {
  position:sticky;
  top:0;
  z-index:2;
  background:#f7f8fbf5;
  backdrop-filter:blur(10px);
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  margin:24px 0;
}
.section-nav a {
  text-decoration:none;
  font-size:13px;
  padding:9px 12px;
  border-radius:9px;
}
.section-nav a:hover {
  background:var(--purple);
}
section {
  scroll-margin-top:18px;
}
.section-heading {
  margin:38px 0 20px;
}
.section-heading h2 span {
  font-size:18px;
  color:var(--muted);
  font-weight:500;
}
.priority-group {
  margin:24px 0;
}
.priority-group>h3 {
  font-size:15px;
}
.item {
  padding:0;
  margin:12px 0;
}
.item summary,.moment summary,.evidence-catalog>summary,.provenance>summary {
  padding:20px;
  cursor:pointer;
}
.item summary::marker,.moment summary::marker {
  color:var(--brand);
}
summary strong {
  font-size:16px;
}
summary small {
  display:block;
  margin-top:4px;
}
.item-heading {
  display:inline-flex;
  align-items:flex-start;
  gap:12px;
  max-width:95%;
  vertical-align:middle;
}
.badge {
  display:inline-block;
  padding:3px 8px;
  background:#edf0f5;
  color:#445064;
  border-radius:6px;
  font-size:11px;
  font-weight:700;
  white-space:normal;
  overflow-wrap:anywhere;
  margin:2px 4px 2px 0;
  vertical-align:middle;
}
.badge.brand,.badge.p1 {
  background:var(--purple);
  color:var(--brand);
}
.badge.p2 {
  background:#edf2fa;
  color:#335887;
}
.badge.positive {
  background:var(--green-bg);
  color:var(--green);
}
.badge.caution {
  background:#f8efd9;
  color:var(--amber);
}
.item-body {
  padding:20px;
  border-top:1px solid var(--line);
}
.focus {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.focus>div {
  flex:1 1 180px;
  min-width:0;
}
.focus>div:last-child:not(:nth-child(2)) {
  flex-basis:100%;
}
.identity {
  display:block;
  font-size:13px;
  margin:3px 0;
  overflow-wrap:anywhere;
}
.identity small {
  display:block;
  font-weight:400;
}
.technical-details {
  margin:12px 0;
  color:var(--muted);
  font-size:12px;
}
.technical-details>summary,
.item .technical-details>summary,
.moment .technical-details>summary {
  padding:8px 0;
  font-size:12px;
  font-weight:500;
}
.technical-body {
  padding:12px 0;
  overflow-wrap:anywhere;
}
.technical-body p,.technical-body dd {
  font-size:12px;
}
.identity-history>summary {
  color:var(--brand);
}
.resolution-record+.resolution-record {
  border-top:1px solid var(--line);
  margin-top:12px;
}
.expression-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.expression {
  padding:17px;
  background:#f5f6f9;
  border:1px solid var(--line);
  border-radius:12px;
}
.recommended {
  background:#f1f7f4;
  border-color:#d3e6db;
}
.jp {
  font-size:17px;
  line-height:1.85;
  overflow-wrap:anywhere;
}
.kana {
  font-size:13px;
  color:var(--muted);
}
.detail-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:16px;
}
.detail-grid p {
  font-size:14px;
}
.practice-note {
  background:#f3f0fa;
  border-left:3px solid #8e7ac9;
  border-radius:10px;
  padding:12px 16px;
  margin:18px 0;
}
.practice-note p {
  font-size:14px;
}
.source-links {
  font-size:13px;
}
.strength-grid,.candidate-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.strength {
  border-top:3px solid #77ac93;
}
.strength h3 {
  font-size:21px;
}
.card-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  font-size:12px;
}
.supporting-quote {
  margin:18px 0;
  padding:15px;
  background:var(--green-bg);
  border-radius:12px;
}
.supporting-quote .jp {
  font-size:15px;
}
.supporting-quote footer {
  font-size:12px;
}
.moment {
  padding:0;
  margin:10px 0;
}
.moment summary>span {
  display:inline-block;
  max-width:94%;
  vertical-align:top;
}
.references {
  padding-left:20px;
}
.references>li {
  padding-bottom:12px;
}
.badges {
  margin-top:8px;
}
.evidence-catalog,.provenance {
  padding:0;
  margin:22px 0;
}
.evidence {
  margin:12px 0;
  background:#fafbfd;
}
.evidence .jp {
  font-size:15px;
}
.evidence:target,.item:target,.moment:target,.strength:target {
  outline:2px solid #8970c8;
  outline-offset:3px;
}
.candidate p {
  font-size:14px;
  overflow-wrap:anywhere;
}
.practice-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.drill {
  border-top:3px solid #a18dd5;
}
.drill .focus {
  margin-top:18px;
}
.provenance {
  margin-top:42px;
}
.provenance details {
  padding:12px 0;
}
.empty {
  padding:40px;
}
.empty h1 {
  font-size:28px;
}
.page-footer {
  margin-top:36px;
  font-size:12px;
  color:var(--muted);
}
.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:5;
  background:#fff;
  padding:12px;
}
.skip-link:focus {
  top:12px;
}
@media(max-width:900px) {
  .hero {
    grid-template-columns:1fr;
  }
  .lesson-meta .meta {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 24px;
  }
  .detail-grid,.practice-grid {
    grid-template-columns:1fr;
  }
  .section-nav {
    position:static;
  }
  .strength-grid {
    grid-template-columns:1fr;
  }
  html {
    scroll-padding-top:15px;
  }
}
@media(max-width:600px) {
  .shell {
    padding:18px 16px 36px;
  }
  .hero {
    padding:21px;
    gap:20px;
  }
  h1 {
    font-size:30px;
  }
  .takeaway {
    font-size:19px;
  }
  .stats {
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .stat {
    padding:14px;
  }
  .lesson-meta .meta,.expression-grid,.candidate-grid {
    grid-template-columns:1fr;
  }
  .section-nav {
    gap:2px;
  }
  .section-nav a {
    font-size:12px;
    padding:8px;
  }
  .card {
    padding:18px;
  }
  .item,.moment,.evidence-catalog,.provenance {
    padding:0;
  }
  .item-body {
    padding:16px;
  }
  .item summary,.moment summary {
    padding:16px;
  }
  .item-heading {
    max-width:91%;
  }
  .section-heading h2 {
    font-size:22px;
  }
  .meta>div {
    grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr);
    gap:10px;
  }
  .focus {
    gap:10px;
  }
  .topbar>a:last-child {
    font-size:13px;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto;
  }
}

/* Related details stay above the reading surface, with their own scroll area. */
html {
  scrollbar-gutter:stable;
}
html.insight-drawer-open {
  overflow:hidden;
}
.insight-drawer {
  position:fixed;
  inset:0 0 0 auto;
  margin:0;
  width:min(720px, 92vw);
  max-width:100%;
  height:100dvh;
  max-height:100dvh;
  padding:0;
  border:0;
  border-left:1px solid var(--line);
  background:var(--bg);
  color:var(--ink);
  box-shadow:-12px 0 48px #17203326;
}
.insight-drawer[open] {
  display:flex;
  flex-direction:column;
}
.insight-drawer::backdrop {
  background:#17203366;
}
.drawer-header {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.drawer-header h2 {
  flex:1;
  margin:0;
  font-size:19px;
}
.drawer-header button {
  font:inherit;
  font-size:14px;
  color:var(--brand);
  background:var(--purple);
  border:1px solid #ded6f2;
  border-radius:9px;
  padding:10px 12px;
  cursor:pointer;
}
.drawer-header button:hover {
  background:#e4ddf6;
}
.drawer-header button:focus-visible {
  outline:3px solid var(--brand);
  outline-offset:3px;
}
.drawer-content {
  flex:1;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:20px 24px max(24px, env(safe-area-inset-bottom));
  overflow-wrap:anywhere;
}
.drawer-content>.card {
  margin-top:0;
}
.drawer-content .expression-grid,.drawer-content .detail-grid {
  grid-template-columns:1fr;
}
.drawer-content .item-heading>.badge {
  flex-shrink:0;
}
@media(max-width:600px) {
  .insight-drawer {
    width:100%;
  }
  .drawer-header,.drawer-content {
    padding:16px;
  }
  .drawer-header [data-drawer-back]:not([hidden]) {
    order:3;
    flex-basis:100%;
    text-align:left;
  }
}

/* Lesson Insight redesign. Scoped because History shares the base stylesheet. */
.insight-page {
  --bg:#f6f8fc;
  --ink:#171c3d;
  --muted:#657092;
  --line:#e8ecf5;
  --brand:#6547e8;
  --purple:#f0ecff;
  background:radial-gradient(ellipse at 15% 0%,#edf1ff66,transparent 42%),var(--bg);
  font-size:14px;
  line-height:1.65;
}
.insight-page .shell { max-width:1320px; padding:24px 40px 40px; }
.insight-page h1 { font-size:36px; letter-spacing:-.045em; margin:0 0 3px; }
.insight-page h2 { font-size:21px; letter-spacing:-.025em; }
.insight-page h3 { font-size:16px; }
.insight-page a { text-decoration:none; }
.insight-page a:hover { text-decoration:underline; }
.insight-page .card { border-radius:12px; box-shadow:0 2px 5px #22356503; }
.insight-page .app-header { background:#ffffffeb; border-bottom:1px solid var(--line); }
.insight-page .topbar { padding-top:14px; padding-bottom:14px; margin-bottom:0; gap:36px; }
.insight-page .brand-link { font-size:21px; letter-spacing:-.04em; flex-shrink:0; }
.insight-page .brand-mark { width:29px; height:29px; border-radius:7px; font-size:20px; background:linear-gradient(140deg,#8870fa,#5939d3); }
.insight-page .app-nav { display:flex; gap:28px; font-size:12px; }
.insight-page .app-nav a { color:var(--muted); }
.insight-page .app-nav a:first-child { color:var(--brand); font-weight:650; }
.insight-page .header-search { display:flex; align-items:center; gap:9px; margin-left:auto; padding:7px 12px; border:1px solid var(--line); border-radius:9px; background:#f5f5fb; color:var(--muted); }
.insight-page .header-search input { font:inherit; font-size:12px; width:210px; border:0; color:var(--ink); background:transparent; outline-offset:5px; }
.insight-page .local-label { font-size:10px; letter-spacing:.1em; color:var(--muted); }
.insight-page .breadcrumbs { display:flex; gap:13px; align-items:center; font-size:12px; color:var(--brand); }
.insight-page [data-view="selected"] { margin:6px 0 0; font-size:10px; }
.insight-page .page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:19px 0 22px; }
.insight-page .page-heading p { margin:0; }
.insight-page .date-link { display:flex; gap:25px; border:1px solid #d8dfee; background:#ffffffb0; padding:9px 17px; border-radius:8px; font-size:12px; color:var(--ink); white-space:nowrap; }
.insight-page .overview-grid { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(290px,1fr); gap:20px; scroll-margin-top:20px; }
.insight-page .hero { display:flex; position:relative; overflow:hidden; gap:20px; padding:27px; border-radius:13px; border-color:#e5ddff; background:linear-gradient(115deg,#f7f4ff,#f8f7ff 60%,#f0edff); }
.insight-page .hero-symbol { flex-shrink:0; display:grid; place-items:center; width:45px; height:45px; border-radius:13px; background:#e7dfff; color:var(--brand); font-size:30px; font-weight:750; }
.insight-page .hero-copy { position:relative; z-index:1; }
.insight-page .hero .eyebrow { font-size:11px; letter-spacing:0; font-weight:500; color:var(--muted); margin:3px 0 16px; }
.insight-page .takeaway { font-size:25px; line-height:1.5; margin:0 0 9px; max-width:620px; }
.insight-page .hero-copy>p.muted { max-width:550px; line-height:1.8; }
.insight-page .focus-chips { display:flex; flex-wrap:wrap; gap:9px; margin:20px 0 4px; }
.insight-page .focus-chips a { font-size:11px; padding:7px 12px; border-radius:30px; background:#f9e6f5; color:#92417f; }
.insight-page .focus-chips a:nth-child(3n + 2) { background:#e6edff; color:#3858a7; }
.insight-page .focus-chips a:nth-child(3n) { background:#e5f5ef; color:#237952; }
.insight-page .hero-landscape { position:absolute; width:190px; height:150px; right:-15px; bottom:0; opacity:.38; pointer-events:none; }
.insight-page .hero-landscape i { position:absolute; right:46px; top:0; width:43px; height:43px; border-radius:50%; background:linear-gradient(#f4a3a0,#ffd3b2); }
.insight-page .hero-landscape b,.insight-page .hero-landscape span { position:absolute; bottom:-55px; right:-20px; width:140px; height:140px; transform:rotate(45deg); border-radius:20px; background:linear-gradient(145deg,#8c92ed,#eeebff 65%); }
.insight-page .hero-landscape span { right:85px; bottom:-86px; }
.insight-page .lesson-meta { padding:20px; background:white; }
.insight-page .lesson-meta h2 { font-size:15px; margin:0 0 14px; }
.insight-page .lesson-meta h2 span { margin-right:8px; }
.insight-page .lesson-meta .meta { display:block; }
.insight-page .lesson-meta .meta>div { grid-template-columns:1fr 1.1fr; border:0; padding:7px 0; gap:12px; font-size:12px; }
.insight-page .quiet-button { display:block; border:1px solid #d8dfee; background:linear-gradient(#fafbff,#f4f6fc); color:#424b76; text-align:center; border-radius:7px; padding:8px; margin-top:16px; font-size:12px; }
.insight-page .coverage:not(.notice) { font-size:10px; color:var(--muted); margin:9px 0 0; }
.insight-page .coverage strong { font-weight:500; }
.insight-page .overview-details { margin:4px 0 14px; font-size:12px; }
.insight-page .overview-details>summary { cursor:pointer; color:var(--muted); padding:4px 0; }
.insight-page .overview-details>.card { margin-top:10px; }
.insight-page .section-nav { position:static; margin:0 0 12px; padding:0 0 10px; background:transparent; border:0; gap:4px; }
.insight-page .section-nav a { padding:4px 10px; font-size:11px; color:var(--muted); }
.insight-page .insight-layout { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(290px,1fr); align-items:start; gap:20px; }
.insight-page .lesson-main,.insight-page .lesson-sidebar { min-width:0; }
.insight-page .section-heading { margin:0 0 14px; }
.insight-page .section-heading h2 { display:flex; align-items:center; gap:12px; margin:0 0 2px; }
.insight-page .section-heading p { margin:0 0 0 41px; font-size:12px; }
.insight-page .section-icon { font-size:30px; width:29px; flex-shrink:0; line-height:1.1; color:var(--brand); }
.insight-page .section-icon.pink { color:#c458a6; }
.insight-page .section-icon.green { color:#168c4c; }
.insight-page .section-icon.blue { color:#427cfa; }
.insight-page .focus-card { padding:18px; margin-bottom:13px; }
.insight-page .focus-card-heading { display:flex; align-items:flex-start; gap:13px; margin-bottom:17px; }
.insight-page .focus-card-heading>div { flex:1; min-width:0; }
.insight-page .focus-card-heading h3 { margin:0; line-height:1.5; }
.insight-page .focus-card-heading small { font-size:11px; }
.insight-page .focus-card-heading>a { flex-shrink:0; font-size:11px; color:#424b76; border:1px solid #d8dfee; border-radius:6px; padding:7px 10px; }
.insight-page .focus-number { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:linear-gradient(150deg,#f48bcc,#e34ead); font-size:17px; font-weight:700; color:white; flex-shrink:0; }
.insight-page .focus-card:nth-child(3n + 2) .focus-number { background:linear-gradient(150deg,#599dff,#2f64f5); }
.insight-page .focus-card:nth-child(3n) .focus-number { background:linear-gradient(150deg,#4fc979,#19a452); }
.insight-page .badge.p1 { background:#fde4f3; color:#c42b84; }
.insight-page .badge.p2 { background:#fff3d8; color:#a7680c; }
.insight-page .badge.p3 { background:#e5f5ec; color:#147d51; }
.insight-page .focus-card>.expression-grid { grid-template-columns:minmax(0,1fr) 22px minmax(0,1.1fr); align-items:stretch; gap:12px; }
.insight-page .expression { padding:14px; border:0; border-radius:9px; background:#f5f7fc; }
.insight-page .expression.recommended { background:linear-gradient(110deg,#edf9f3,#eaf7f1); }
.insight-page .expression h4 { font-size:11px; margin:0 0 7px; }
.insight-page .recommended h4 { color:#1c7254; }
.insight-page .expression .jp { font-size:13px; line-height:1.9; margin:0; }
.insight-page .expression .small { font-size:10px; margin:6px 0 0; }
.insight-page .expression-arrow { align-self:center; text-align:center; font-size:23px; color:#59628a; }
.insight-page .why-note { display:flex; gap:13px; margin-top:10px; border-radius:9px; padding:12px 14px; background:#f5f7fc; }
.insight-page .why-note>span { font-size:24px; color:#5e68ff; line-height:1; }
.insight-page .why-note h4 { font-size:11px; margin:0; }
.insight-page .why-note p { font-size:12px; margin:2px 0 0; color:var(--muted); }
.insight-page .focus-list+.section-heading { margin-top:30px; }
.insight-page .also-learned { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:white; }
.insight-page .also-learned .item { margin:0; border:0; border-radius:0; box-shadow:none; }
.insight-page .also-learned .item+.item { border-top:1px solid var(--line); }
.insight-page .also-learned .item>summary { padding:16px 18px; }
.insight-page .also-learned summary strong { font-size:13px; }
.insight-page .also-learned summary small { font-size:10px; }
.insight-page #strengths { margin:30px 0; }
.insight-page .strength-grid { gap:10px; }
.insight-page .strength { padding:16px; border-top:1px solid var(--line); }
.insight-page .strength h3 { font-size:14px; margin:8px 0 4px; }
.insight-page .strength>p { font-size:12px; color:var(--muted); margin:4px 0 8px; }
.insight-page .strength .card-top { font-size:10px; }
.insight-page .strength-detail>summary,.insight-page .candidate-detail>summary { font-size:11px; color:var(--brand); cursor:pointer; }
.insight-page .lesson-sidebar #practice { padding:18px 12px 12px; border:1px solid #e4dfff; border-radius:13px; background:linear-gradient(145deg,#f1edff,#f7f9ff); }
.insight-page .lesson-sidebar .section-heading { padding:0 7px; }
.insight-page .lesson-sidebar .section-heading h2 { font-size:17px; gap:10px; }
.insight-page .lesson-sidebar .section-heading p { margin:8px 0 0; font-size:12px; }
.insight-page #practice .section-heading h2 { color:var(--brand); }
.insight-page .practice-grid,.insight-page .candidate-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.insight-page .drill { border-top:1px solid var(--line); padding:16px; border-radius:10px; }
.insight-page .drill h3 { font-size:14px; margin:9px 0 5px; }
.insight-page .drill>p { font-size:12px; color:var(--muted); margin:5px 0 12px; }
.insight-page .practice-detail>summary { cursor:pointer; padding:8px 10px; font-size:12px; text-align:center; color:var(--brand); border:1px solid #d9ddef; border-radius:6px; list-style:none; }
.insight-page .practice-detail>summary::-webkit-details-marker { display:none; }
.insight-page .drill:first-child .practice-detail>summary { color:white; background:linear-gradient(120deg,#7654ec,#5e43dc); border-color:transparent; }
.insight-page #candidates { margin-top:22px; background:white; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.insight-page #candidates .section-heading { padding:18px; margin:0; }
.insight-page .candidate-grid { gap:0; }
.insight-page .candidate { border:0; border-top:1px solid var(--line); border-radius:0; box-shadow:none; padding:16px 18px; }
.insight-page .candidate>.badge { float:right; max-width:110px; font-size:10px; margin-left:8px; }
.insight-page .candidate h3 { font-size:13px; margin:0 0 7px; }
.insight-page .candidate>p { font-size:11px; clear:both; }
.insight-page .candidate .badge.brand { background:#e8f6ef; color:#267955; }
.insight-page .section-disclosure { padding:0; margin-top:2px; }
.insight-page .section-disclosure>summary,.insight-page .provenance>summary { padding:17px 22px; font-size:13px; font-weight:650; cursor:pointer; }
.insight-page .section-disclosure>summary span,.insight-page .provenance>summary span { margin-left:18px; font-size:11px; font-weight:400; color:var(--muted); }
.insight-page .disclosure-body { padding:20px; border-top:1px solid var(--line); }
.insight-page .provenance { margin:10px 0 0; }
.insight-page .detail-grid { grid-template-columns:1fr; gap:8px; }
.insight-page .insight-drawer .item { margin:0; }
.insight-page .insight-drawer .expression-grid { grid-template-columns:1fr; }
.insight-page .insight-drawer .strength-detail { margin-top:10px; }
.insight-page .page-footer { text-align:center; font-size:11px; }
@media(min-width:1500px) { .insight-page .shell { max-width:1380px; } }
@media(max-width:1000px) {
  .insight-page .shell { padding-left:24px; padding-right:24px; }
  .insight-page .overview-grid,.insight-page .insight-layout { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); gap:16px; }
  .insight-page .hero { padding:22px; gap:13px; }
  .insight-page .hero-symbol { display:none; }
  .insight-page .takeaway { font-size:23px; }
  .insight-page .topbar { gap:22px; }
  .insight-page .local-label { display:none; }
  .insight-page .header-search input { width:170px; }
  .insight-page .focus-card-heading>a { padding:5px 7px; }
  .insight-page .strength-grid { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .insight-page .overview-grid,.insight-page .insight-layout { grid-template-columns:1fr; }
  .insight-page .hero-symbol { display:grid; }
  .insight-page .lesson-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; margin-bottom:22px; }
  .insight-page #candidates { margin-top:0; }
  .insight-page .header-search { display:none; }
  .insight-page .app-nav { margin-left:auto; }
  .insight-page .strength-grid { grid-template-columns:1fr 1fr; }
  .insight-page .lesson-meta .meta { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
}
@media(max-width:520px) {
  .insight-page .shell { padding:18px 16px 28px; }
  .insight-page .topbar { padding-top:13px; padding-bottom:13px; gap:16px; }
  .insight-page .brand-link { font-size:18px; }
  .insight-page .app-nav { gap:15px; font-size:11px; }
  .insight-page h1 { font-size:29px; }
  .insight-page .page-heading { flex-wrap:wrap; gap:12px; }
  .insight-page .page-heading p { font-size:12px; }
  .insight-page .date-link { padding:6px 12px; }
  .insight-page .hero { padding:19px; }
  .insight-page .hero-symbol { display:none; }
  .insight-page .takeaway { font-size:22px; }
  .insight-page .lesson-meta .meta { display:block; }
  .insight-page .section-nav { gap:2px; }
  .insight-page .section-nav a { font-size:10px; padding:4px 6px; }
  .insight-page .focus-card { padding:14px; }
  .insight-page .focus-card-heading { gap:9px; flex-wrap:wrap; }
  .insight-page .focus-card-heading h3 { font-size:14px; }
  .insight-page .focus-card-heading>a { margin-left:40px; }
  .insight-page .focus-card>.expression-grid { grid-template-columns:1fr; gap:7px; }
  .insight-page .expression-arrow { transform:rotate(90deg); line-height:1; }
  .insight-page .lesson-sidebar,.insight-page .strength-grid { grid-template-columns:1fr; }
  .insight-page .section-heading h2 { font-size:20px; }
  .insight-page .section-disclosure>summary span,.insight-page .provenance>summary span { display:block; margin:4px 0 0 14px; }
  .insight-page .disclosure-body { padding:14px; }
}

/* Native disclosures keep evidence accessible without an interaction engine. */
.insight-page .shell { max-width:1280px; }
.insight-page .overview-grid,.insight-page .insight-layout { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); }
.insight-page .hero-profile { font-size:12px; color:var(--brand); margin:12px 0 0; }
.insight-page .section-nav { margin:20px 0 24px; }
.insight-page .focus-card .item { border:0; margin:0; box-shadow:none; background:transparent; }
.insight-page .focus-card .item>summary { padding:9px 0; font-size:12px; color:var(--muted); }
.insight-page .focus-card .item>.item-body { padding:16px 0 0; }
.insight-page .expression-grid { grid-template-columns:minmax(0,1fr) 22px minmax(0,1.1fr); align-items:stretch; gap:12px; }
.insight-page .expression .jp { font-size:14px; overflow-wrap:anywhere; }
.insight-page .evidence-disclosure { margin-top:14px; }
.insight-page .evidence-disclosure>summary { cursor:pointer; color:var(--brand); font-size:12px; padding:8px 0; }
.insight-page .evidence-body { border-top:1px solid var(--line); margin-top:6px; padding-top:12px; }
.insight-page .evidence-body h4 { font-size:13px; }
.insight-page .evidence-reference { border-left:2px solid #ddd6fa; padding:12px 0 12px 14px; margin:10px 0; }
.insight-page .evidence-reference>.expression-grid,.insight-page .evidence>.expression-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.insight-page .evidence-reference p { overflow-wrap:anywhere; font-size:13px; }
.insight-page .item-analysis>summary { cursor:pointer; color:var(--muted); font-size:12px; }
.insight-page .compact-expression { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; font-weight:400; }
.insight-page #also { margin-top:28px; }
.insight-page .lesson-sidebar #practice { padding:20px 12px 12px; }
.insight-page .practice-type { color:var(--brand); font-size:11px; }
.insight-page .practice-detail>summary { text-align:left; border:0; padding:0; list-style:revert; color:var(--muted); }
.insight-page .practice-detail>summary::-webkit-details-marker { display:revert; }
.insight-page .drill:first-child .practice-detail>summary { background:none; color:var(--muted); }
.insight-page .candidate>.badge { float:none; max-width:none; margin:0 0 8px; }
.insight-page .candidate>p { font-size:12px; line-height:1.8; }
.insight-page .candidate h3 { font-size:14px; }
.insight-page .section-disclosure { margin-top:12px; }
.insight-page .strength-check { color:#fff; background:#2ca461; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; }
.insight-page .strength .card-top { justify-content:flex-start; gap:6px; }
.insight-page .strength .card-top>span.muted { display:none; }
.insight-page .strength { border-top:1px solid var(--line); }
.insight-page .coverage:empty { display:none; }
.insight-page .hero-landscape { opacity:.2; }
.insight-page main { overflow-wrap:anywhere; }
.insight-page .insight-drawer .expression-arrow { display:none; }
@media(max-width:1000px) {
  .insight-page .overview-grid,.insight-page .insight-layout { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); }
}
@media(max-width:760px) {
  .insight-page .overview-grid,.insight-page .insight-layout { grid-template-columns:minmax(0,1fr); }
  .insight-page .lesson-main,.insight-page .lesson-sidebar { display:contents; }
  .insight-page #items { order:1; }
  .insight-page #practice { order:2; }
  .insight-page #also { order:3; }
  .insight-page #strengths { order:4; }
  .insight-page #candidates { order:5; }
  .insight-page #also,.insight-page #strengths,.insight-page #candidates { margin:16px 0; }
  .insight-page .overview-grid .lesson-meta { display:none; }
}
@media(max-width:520px) {
  .insight-page .expression-grid,.insight-page .evidence-reference>.expression-grid,.insight-page .evidence>.expression-grid { grid-template-columns:minmax(0,1fr); }
  .insight-page .expression-arrow { transform:rotate(90deg); line-height:1; }
  .insight-page .section-nav { display:none; }
  .insight-page .insight-layout { margin-top:24px; }
  .insight-page .hero-copy { min-width:0; }
  .insight-page .takeaway { font-size:21px; line-height:1.55; }
  .insight-page .focus-card .item-heading { max-width:90%; }
}

.insight-page .focus-card .item>summary strong { font-size:12px; font-weight:500; }
.insight-page .focus-card { position:relative; }
.insight-page .focus-card-heading { padding-right:165px; }
.insight-page .focus-card>.evidence-disclosure>summary { position:absolute; top:18px; right:18px; padding:6px 9px; border:1px solid #d8dfee; border-radius:6px; font-size:11px; }
.insight-page .focus-card>.evidence-disclosure { margin-top:0; }
@media(max-width:1000px) {
  .insight-page .focus-card-heading { padding-right:0; }
  .insight-page .focus-card>.evidence-disclosure>summary { position:static; border:0; padding:8px 0; font-size:12px; }
  .insight-page .focus-card>.evidence-disclosure { margin-top:10px; }
}

/* Persisted lesson impact: single-column reading order on all screens. */
.import-context{background:#eef8f1;border:1px solid #d4e9da;border-radius:10px;padding:12px 16px;margin:12px 0;font-size:14px}.import-context strong{margin-right:16px}.import-context span{color:#53695b}.import-context p{margin:5px 0}.import-details{font-size:13px;color:#596575;margin:12px 0}.import-details dl,.impact-card dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px}.import-details dd,.impact-card dd{margin:0;overflow-wrap:anywhere}.import-details details{overflow-wrap:anywhere}.lesson-impact{margin:28px 0 36px}.lesson-impact>h2{font-size:27px;margin-bottom:8px}.impact-group{margin-top:24px}.impact-group>h3{font-size:18px}.impact-card{padding:20px;border-radius:12px;border:1px solid;margin:12px 0;background:white}.impact-card.progress{border-color:#cfe3d5;background:#f5faf6}.impact-card.attention{border-color:#eadfbe;background:#fffcf3}.impact-card h4{margin:0;font-size:18px}.impact-card dt{color:#66716d}.impact-card details,.impact-rules{font-size:13px;margin-top:15px}.impact-primary{display:inline-block;background:#2762bc;color:white!important;border-radius:8px;padding:11px 17px;margin-top:24px;text-decoration:none}.impact-empty{background:#f5f6f8;border:1px solid #e1e5eb;padding:22px;border-radius:12px;line-height:1.8}.lesson-divider{border-top:1px solid #dfe4e9;padding-top:25px;margin-top:32px}@media(max-width:640px){.impact-card{padding:16px}.lesson-impact>h2{font-size:23px}.impact-card dl{grid-template-columns:76px minmax(0,1fr)}.import-context span{display:block;margin-top:4px}.impact-primary{width:100%;text-align:center;box-sizing:border-box}}

.import-context.partial-success{background:#fffcf3;border-color:#eadfbe}.memory-sync-warning{color:#715521;max-width:76ch}

.insight-page #vocabulary { margin:28px 0; }
.insight-page .vocabulary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.insight-page .vocabulary-card { min-width:0; border-top:3px solid #c8ddca; }
.insight-page .vocabulary-card h3 { font-size:18px; margin:12px 0; }
.insight-page .vocabulary-card .jp { font-size:19px; line-height:1.8; }
.insight-page .vocabulary-method { border-top:1px solid var(--line); padding-top:12px; margin-top:14px; }
.insight-page .vocabulary-method summary,.insight-page .vocabulary-observations summary { cursor:pointer; color:var(--brand); padding:8px 0; }
.insight-page .vocabulary-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; font-size:13px; }
.insight-page .vocabulary-observations { margin-top:16px; }
.insight-page .vocabulary-observations article { border-top:1px solid var(--line); padding:16px 0; }
.insight-page #point-category { padding:10px; border:1px solid var(--line); border-radius:8px; background:white; color:inherit; max-width:100%; }
@media(max-width:760px) { .insight-page #vocabulary { order:2; } }
@media(max-width:520px) { .insight-page .vocabulary-grid { grid-template-columns:minmax(0,1fr); } }
