/* knowledge-recall 补丁链·第一段（v9.0 合并）
 * 由以下按序合并，层叠顺序与拆分前一致：
 * knowledge-recall-p2223.css / p2224 / p2225 / p4322 / p4517 / p4519 / p4520
 */

/* v8.6.2 P2.2.23 — deep recall shell, navigator, drawer and zoom parity */

.knowledge-recall-page .kr-topbar.lp-topbar{
  grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;
}
.knowledge-recall-page .kr-brand{padding-left:2px}
.knowledge-recall-page .kr-topbar .account-menu-trigger{
  min-height:36px;height:36px;max-width:250px;padding:0 11px;
  border:1px solid rgba(248,113,113,.30);border-radius:999px;background:#fff;box-shadow:none;
}
.knowledge-recall-page .kr-topbar .account-menu{z-index:1400}
.knowledge-recall-page .account-menu-exit{color:#dc2626}
.knowledge-recall-page .account-menu-exit:hover,.knowledge-recall-page .account-menu-exit:focus-visible{background:#fef2f2;color:#b91c1c}

.knowledge-recall-page .kr-canvas-overlay-left{top:14px;left:12px}
.knowledge-recall-page .kr-question-library-nav{
  display:flex;align-items:center;height:40px;min-height:40px;box-sizing:border-box;
  border:1px solid rgba(100,116,139,.18);border-radius:12px;background:rgba(255,255,255,.93);
  box-shadow:0 7px 20px rgba(15,23,42,.09);backdrop-filter:blur(14px);overflow:hidden;
}
.knowledge-recall-page .kr-question-nav-arrow{
  appearance:none;display:grid;place-items:center;width:34px;min-width:34px;height:38px;min-height:38px;
  padding:0;border:0;border-radius:0;background:transparent;color:#64748b;font-size:20px;font-weight:850;line-height:1;box-shadow:none;cursor:pointer;
}
.knowledge-recall-page .kr-question-nav-arrow:hover,.knowledge-recall-page .kr-question-nav-arrow:focus-visible{background:#f3f1ff;color:#5b4dd1;outline:none}
.knowledge-recall-page .kr-question-nav-arrow:disabled{opacity:.32;cursor:default;background:transparent;color:#94a3b8}
.knowledge-recall-page .kr-question-library-trigger{
  height:38px;min-height:38px;padding:0 10px;border:0;border-left:1px solid rgba(100,116,139,.14);border-right:1px solid rgba(100,116,139,.14);
  border-radius:0;background:transparent;color:#536074;font-size:13px;font-weight:850;box-shadow:none;backdrop-filter:none;
}
.knowledge-recall-page .kr-question-library-trigger:hover,.knowledge-recall-page .kr-question-library-trigger:focus-visible{background:#f3f1ff;color:#5b4dd1;outline:none}
.knowledge-recall-page .kr-question-library-trigger strong{font-size:11px}

/* Match the single-question library drawer exactly: below the shared header, attached to the left edge. */
.knowledge-recall-page #krQuestionDrawer.lp-question-library-compact{
  position:fixed!important;top:var(--lp-shell-height,64px)!important;bottom:0!important;left:0!important;right:auto!important;
  width:min(360px,calc(100vw - 8px))!important;height:auto!important;max-height:none!important;
  border:1px solid rgba(100,116,139,.18)!important;border-left:0!important;border-radius:0 12px 12px 0!important;
  z-index:5000!important;box-sizing:border-box!important;
}
.knowledge-recall-page #krDrawerBackdrop{position:fixed!important;top:var(--lp-shell-height,64px)!important;right:0!important;bottom:0!important;left:0!important;height:auto!important;z-index:4990!important}

/* The former instruction pill is replaced by live recall metrics at the bottom center. */
.knowledge-recall-page .kr-session-stats-canvas{
  position:absolute;left:50%;bottom:12px;z-index:360;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;
  width:max-content;max-width:calc(100vw - 430px);min-height:40px;box-sizing:border-box;padding:5px 7px;
  border:1px solid rgba(15,23,42,.08);border-radius:15px;background:rgba(255,255,255,.94);
  box-shadow:0 12px 34px rgba(15,23,42,.14);backdrop-filter:blur(14px);pointer-events:auto;overflow-x:auto;
}
.knowledge-recall-page .kr-session-stats-canvas span{
  display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;border:1px solid #e2e8f0;border-radius:999px;
  background:#f8fafc;color:#64748b;font-size:11px;white-space:nowrap;
}
.knowledge-recall-page .kr-session-stats-canvas strong{color:#334155;font-size:12px}
.knowledge-recall-page .kr-hint-pill{display:none!important}

/* Percent is now a reset control. The slider remains synced for accessibility but is not opened by the label. */
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-slider-popover{display:none!important}
.knowledge-recall-page #krZoomLabel{min-width:56px}

@media(max-width:1180px){
  .knowledge-recall-page .kr-session-stats-canvas{max-width:calc(100vw - 260px)}
}
@media(max-width:820px){
  .knowledge-recall-page .kr-session-stats-canvas{left:50%;bottom:8px;max-width:calc(100vw - 188px);gap:4px;padding:4px 5px}
  .knowledge-recall-page .kr-session-stats-canvas span{padding:0 6px;font-size:10px}
  .knowledge-recall-page .kr-question-library-trigger>span:nth-child(2){display:none}
}
@media(max-width:620px){
  .knowledge-recall-page .kr-topbar.lp-topbar{grid-template-columns:minmax(120px,1fr) auto;gap:8px;padding:0 8px}
  .knowledge-recall-page .kr-topbar .lp-top-actions{grid-column:2}
  .knowledge-recall-page .kr-topbar .kr-language-control{display:none}
  .knowledge-recall-page .kr-topbar .account-menu-trigger{max-width:150px}
  .knowledge-recall-page .lp-scene-menu{display:none}
  .knowledge-recall-page .kr-session-stats-canvas{left:184px;right:8px;transform:none;max-width:none;justify-content:flex-start}
}

/* Keep the merged account/exit entry and bottom metrics available on compact screens. */
@media(max-width:760px){
  .knowledge-recall-page .lp-top-actions .account-menu-trigger{display:inline-flex!important}
  .knowledge-recall-page .kr-session-stats.kr-session-stats-canvas{display:flex!important}
  .knowledge-recall-page .account-menu{top:calc(var(--lp-shell-height,64px) + 6px);right:8px}
}

/* Prevent legacy recall toolbar button styles from turning account-menu rows into pills. */
.knowledge-recall-page .kr-tools .account-menu-item{
  width:100%!important;min-height:42px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;
  padding:0 11px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--kr-control-ink)!important;
  box-shadow:none!important;font-size:13px!important;font-weight:800!important;text-align:left!important;transform:none!important;
}
.knowledge-recall-page .kr-tools .account-menu-item:hover,
.knowledge-recall-page .kr-tools .account-menu-item:focus-visible{background:var(--kr-control-hover)!important;color:var(--kr-control-ink)!important;box-shadow:none!important;transform:none!important}
.knowledge-recall-page .kr-tools .account-menu-item.account-menu-exit{color:#dc2626!important}
.knowledge-recall-page .kr-tools .account-menu-item.account-menu-exit:hover,
.knowledge-recall-page .kr-tools .account-menu-item.account-menu-exit:focus-visible{background:color-mix(in srgb,#dc2626 12%,var(--kr-control-bg))!important;color:#ef4444!important}
.knowledge-recall-page .kr-tools .account-menu-item.account-menu-session.is-login{color:var(--role-primary,#2563eb)!important}
.knowledge-recall-page .kr-tools .account-menu-item.account-menu-session.is-logout{color:#dc2626!important}
.knowledge-recall-page .kr-tools .account-menu-trigger:hover,
.knowledge-recall-page .kr-tools .account-menu-trigger:focus-visible,
.knowledge-recall-page .account-menu-shell.is-open .account-menu-trigger{transform:none!important;background:var(--kr-control-hover)!important;color:var(--kr-control-ink)!important}
.knowledge-recall-page .kr-tools .account-menu-upgrade{display:none!important}
@media(max-width:850px),(pointer:coarse),(hover:none){
  .knowledge-recall-page .kr-tools .account-menu-upgrade{display:flex!important}
}
/* v8.6.2 P2.2.24 — deep recall return, reset, keyboard delete and concealment refinements */

/* Restore the original top-left return entry; leaving the page is no longer duplicated in the account menu. */
.knowledge-recall-page .kr-brand.lp-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.knowledge-recall-page .kr-brand .kr-back{
  flex:0 0 auto;
}

/* Canvas-level reset control. */
.knowledge-recall-page .kr-canvas-overlay-right{
  position:absolute;
  top:14px;
  right:12px;
  z-index:360;
}
.knowledge-recall-page .kr-reset-question-btn{
  appearance:none;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(100,116,139,.18);
  border-radius:12px;
  background:rgba(255,255,255,.93);
  color:#64748b;
  box-shadow:0 7px 20px rgba(15,23,42,.09);
  backdrop-filter:blur(14px);
  cursor:pointer;
  transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .10s ease;
}
.knowledge-recall-page .kr-reset-question-btn svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.knowledge-recall-page .kr-reset-question-btn:hover,
.knowledge-recall-page .kr-reset-question-btn:focus-visible{
  border-color:rgba(109,93,252,.28);
  background:#f3f1ff;
  color:#5b4dd1;
  outline:none;
  box-shadow:0 9px 24px rgba(15,23,42,.12),0 0 0 3px rgba(109,93,252,.10);
}
.knowledge-recall-page .kr-reset-question-btn:active{
  transform:scale(.94);
}
.knowledge-recall-page .kr-reset-question-btn.kr-readonly-control{
  opacity:.54;
}

/* Position/total is the only question number shown in the shell. */
.knowledge-recall-page #krQuestionCount{
  min-width:34px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

/* Hidden keywords must occupy exactly the same inline width as ordinary text. */
.knowledge-recall-page .kr-keyword{
  padding:0;
  margin:0;
  border-radius:3px;
  letter-spacing:inherit;
  word-spacing:inherit;
  font:inherit;
  vertical-align:baseline;
}
.knowledge-recall-page .kr-keyword.active{
  box-shadow:0 0 0 2px var(--kr-highlight-ring);
}

/* Knowledge cards stay still on hover; only click/press feedback remains. */
.knowledge-recall-page .kr-node button:hover{
  filter:none;
  transform:none;
  box-shadow:0 10px 26px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.08);
}
.knowledge-recall-page .kr-node button:hover:after{
  transform:translate(-50%,-50%);
  filter:none;
  box-shadow:inset 0 -8px 0 rgba(15,23,42,.08),0 8px 18px rgba(15,23,42,.12);
}
.knowledge-recall-page .kr-node button:hover span{
  transform:translate(-50%,-50%);
  filter:none;
}

/* Lightweight 360 ms destruction effect: two pseudo-elements, transform and opacity only. */
.knowledge-recall-page .kr-node.is-destroying{
  z-index:40;
  pointer-events:none;
}
.knowledge-recall-page .kr-node.is-destroying button{
  pointer-events:none;
  animation:krCardDestroyCollapse .34s cubic-bezier(.34,.02,.3,1) both;
}
.knowledge-recall-page .kr-node.is-destroying .kr-node-label{
  pointer-events:none;
  animation:krCardDestroyLabel .34s cubic-bezier(.34,.02,.3,1) both;
}
.knowledge-recall-page .kr-node.is-destroying::before,
.knowledge-recall-page .kr-node.is-destroying::after{
  content:"";
  position:absolute;
  left:50%;
  top:35px;
  width:17px;
  height:17px;
  z-index:20;
  border-radius:50%;
  background:rgba(100,116,139,.38);
  pointer-events:none;
  opacity:0;
  will-change:transform,opacity;
}
.knowledge-recall-page .kr-node.is-destroying::before{
  box-shadow:-22px 9px 0 -3px rgba(148,163,184,.34),19px 3px 0 -5px rgba(71,85,105,.30),3px -13px 0 -6px rgba(203,213,225,.52);
  animation:krCardSmokeLeft .36s ease-out both;
}
.knowledge-recall-page .kr-node.is-destroying::after{
  width:13px;
  height:13px;
  background:rgba(148,163,184,.34);
  box-shadow:-13px 2px 0 -4px rgba(71,85,105,.27),18px 10px 0 -4px rgba(203,213,225,.46),4px -11px 0 -5px rgba(100,116,139,.28);
  animation:krCardSmokeRight .36s .025s ease-out both;
}
@keyframes krCardDestroyCollapse{
  0%{opacity:1;transform:scale(1)}
  42%{opacity:.92;transform:scale(.93)}
  100%{opacity:0;transform:scale(.42)}
}
@keyframes krCardDestroyLabel{
  0%{opacity:1;transform:translateX(-50%) scale(1)}
  42%{opacity:.88;transform:translateX(-50%) scale(.93)}
  100%{opacity:0;transform:translateX(-50%) scale(.42)}
}
@keyframes krCardSmokeLeft{
  0%{opacity:0;transform:translate(-50%,4px) scale(.45)}
  22%{opacity:.84}
  100%{opacity:0;transform:translate(calc(-50% - 16px),-48px) scale(1.48)}
}
@keyframes krCardSmokeRight{
  0%{opacity:0;transform:translate(-50%,5px) scale(.4)}
  18%{opacity:.72}
  100%{opacity:0;transform:translate(calc(-50% + 18px),-43px) scale(1.35)}
}
@media(prefers-reduced-motion:reduce){
  .knowledge-recall-page .kr-node.is-destroying button,
  .knowledge-recall-page .kr-node.is-destroying .kr-node-label,
  .knowledge-recall-page .kr-node.is-destroying::before,
  .knowledge-recall-page .kr-node.is-destroying::after{animation:none!important}
}
/* v8.6.2 P2.2.25 — deep recall pressed/selected states, hover scene palette and complete theme surfaces */

/* Complete the palettes that previously inherited several platform-white surfaces. */
.knowledge-recall-page .kr-app{
  --kr-surface-glass:color-mix(in srgb,var(--kr-control-bg) 93%,transparent);
  --kr-surface-solid:var(--kr-control-bg);
  --kr-surface-muted:var(--kr-choice-bg);
  --kr-surface-hover:var(--kr-control-hover);
  --kr-surface-border:var(--kr-border);
  --kr-strong-ink:var(--kr-card-ink);
  --kr-selected-ring:color-mix(in srgb,var(--kr-primary) 76%,transparent);
  --kr-selected-glow:color-mix(in srgb,var(--kr-primary) 24%,transparent);
}
.knowledge-recall-page .kr-app[data-theme="aurora"],
.knowledge-recall-page .kr-viewport[data-theme="aurora"]{
  --kr-ink:#123524;--kr-muted:#4b6b5b;--kr-gold:#84cc16;--kr-choice-bg:rgba(236,253,245,.88);
  --kr-highlight-from:rgba(52,211,153,.28);--kr-highlight-to:rgba(167,243,208,.86);--kr-highlight-ring:rgba(16,185,129,.24);--kr-highlight-hover:rgba(16,185,129,.16);--kr-highlight-text:#064e3b;
  --kr-node-base-a:#d1fae5;--kr-node-base-b:#34d399;--kr-node-base-c:#059669;--kr-node-base-d:#065f46;--kr-node-base-shadow:#047857;
  --kr-node-root-a:#bef264;--kr-node-root-b:#65a30d;--kr-node-root-c:#4d7c0f;--kr-node-root-d:#365314;--kr-node-root-shadow:#4d7c0f;
  --kr-node-alt-a:#99f6e4;--kr-node-alt-b:#14b8a6;--kr-node-alt-c:#0f766e;--kr-node-alt-d:#134e4a;--kr-node-alt-shadow:#0f766e;
  --kr-node-cool-a:#bae6fd;--kr-node-cool-b:#38bdf8;--kr-node-cool-c:#0284c7;--kr-node-cool-d:#075985;--kr-node-cool-shadow:#0369a1;
}
.knowledge-recall-page .kr-app[data-theme="neon"],
.knowledge-recall-page .kr-viewport[data-theme="neon"]{
  --kr-gold:#22d3ee;--kr-highlight-from:rgba(34,211,238,.24);--kr-highlight-to:rgba(167,139,250,.55);--kr-highlight-ring:rgba(34,211,238,.32);--kr-highlight-hover:rgba(34,211,238,.15);--kr-highlight-text:#ecfeff;
  --kr-node-base-a:#cffafe;--kr-node-base-b:#22d3ee;--kr-node-base-c:#0891b2;--kr-node-base-d:#164e63;--kr-node-base-shadow:#0e7490;
  --kr-node-cool-a:#f5d0fe;--kr-node-cool-b:#d946ef;--kr-node-cool-c:#a21caf;--kr-node-cool-d:#701a75;--kr-node-cool-shadow:#86198f;
}
.knowledge-recall-page .kr-app[data-theme="sakura"],
.knowledge-recall-page .kr-viewport[data-theme="sakura"]{
  --kr-ink:#4a1d2d;--kr-muted:#8b5b6d;--kr-gold:#fb7185;--kr-choice-bg:rgba(255,247,249,.88);
  --kr-highlight-from:rgba(244,114,182,.28);--kr-highlight-to:rgba(251,207,232,.88);--kr-highlight-ring:rgba(236,72,153,.24);--kr-highlight-hover:rgba(236,72,153,.15);--kr-highlight-text:#831843;
  --kr-node-base-a:#fce7f3;--kr-node-base-b:#f472b6;--kr-node-base-c:#db2777;--kr-node-base-d:#9d174d;--kr-node-base-shadow:#be185d;
  --kr-node-alt-a:#ddd6fe;--kr-node-alt-b:#a78bfa;--kr-node-alt-c:#7c3aed;--kr-node-alt-d:#4c1d95;--kr-node-alt-shadow:#6d28d9;
  --kr-node-cool-a:#bae6fd;--kr-node-cool-b:#38bdf8;--kr-node-cool-c:#0284c7;--kr-node-cool-d:#075985;--kr-node-cool-shadow:#0369a1;
}
.knowledge-recall-page .kr-app[data-theme="ocean"],
.knowledge-recall-page .kr-viewport[data-theme="ocean"]{
  --kr-ink:#0f2942;--kr-muted:#527087;--kr-gold:#38bdf8;--kr-choice-bg:rgba(240,249,255,.88);
  --kr-highlight-from:rgba(56,189,248,.28);--kr-highlight-to:rgba(186,230,253,.90);--kr-highlight-ring:rgba(14,165,233,.24);--kr-highlight-hover:rgba(14,165,233,.15);--kr-highlight-text:#0c4a6e;
  --kr-node-base-a:#e0f2fe;--kr-node-base-b:#38bdf8;--kr-node-base-c:#0284c7;--kr-node-base-d:#075985;--kr-node-base-shadow:#0369a1;
  --kr-node-alt-a:#ccfbf1;--kr-node-alt-b:#2dd4bf;--kr-node-alt-c:#0f766e;--kr-node-alt-d:#134e4a;--kr-node-alt-shadow:#0f766e;
  --kr-node-cool-a:#dbeafe;--kr-node-cool-b:#60a5fa;--kr-node-cool-c:#2563eb;--kr-node-cool-d:#1e3a8a;--kr-node-cool-shadow:#1d4ed8;
}
.knowledge-recall-page .kr-app[data-theme="latte"],
.knowledge-recall-page .kr-viewport[data-theme="latte"]{
  --kr-ink:#3d2a1a;--kr-muted:#80654d;--kr-gold:#d97706;--kr-choice-bg:rgba(255,247,237,.88);
  --kr-highlight-from:rgba(245,158,11,.27);--kr-highlight-to:rgba(254,215,170,.88);--kr-highlight-ring:rgba(180,83,9,.22);--kr-highlight-hover:rgba(180,83,9,.14);--kr-highlight-text:#5f3517;
  --kr-node-base-a:#ffedd5;--kr-node-base-b:#fb923c;--kr-node-base-c:#c2410c;--kr-node-base-d:#7c2d12;--kr-node-base-shadow:#9a3412;
  --kr-node-root-a:#fde68a;--kr-node-root-b:#f59e0b;--kr-node-root-c:#b45309;--kr-node-root-d:#78350f;--kr-node-root-shadow:#92400e;
  --kr-node-alt-a:#d9f99d;--kr-node-alt-b:#84cc16;--kr-node-alt-c:#4d7c0f;--kr-node-alt-d:#365314;--kr-node-alt-shadow:#4d7c0f;
  --kr-node-cool-a:#ddd6fe;--kr-node-cool-b:#a78bfa;--kr-node-cool-c:#7c3aed;--kr-node-cool-d:#4c1d95;--kr-node-cool-shadow:#6d28d9;
}

/* Every visible shell/canvas surface now follows the active scene variables. */
.knowledge-recall-page .kr-app,
.knowledge-recall-page .kr-viewport{color:var(--kr-ink)}
.knowledge-recall-page .kr-topbar{border-color:var(--kr-border);background:var(--kr-topbar-bg)}
.knowledge-recall-page .kr-topbar .account-menu-trigger{
  border-color:var(--kr-border);background:var(--kr-control-bg);color:var(--kr-control-ink);
}
.knowledge-recall-page .kr-tools .account-menu-trigger:hover,
.knowledge-recall-page .kr-tools .account-menu-trigger:focus-visible,
.knowledge-recall-page .account-menu-shell.is-open .account-menu-trigger{background:var(--kr-control-hover)!important;color:var(--kr-control-ink)!important}

.knowledge-recall-page .account-menu{
  border-color:var(--kr-border);background:var(--kr-surface-glass);color:var(--kr-control-ink);
  box-shadow:0 18px 50px color-mix(in srgb,var(--kr-ink) 22%,transparent),0 2px 8px color-mix(in srgb,var(--kr-ink) 8%,transparent);
}
.knowledge-recall-page .account-menu-item{color:var(--kr-control-ink)}
.knowledge-recall-page .account-menu-item:hover,
.knowledge-recall-page .account-menu-item:focus-visible{background:var(--kr-control-hover);color:var(--kr-control-ink)}
.knowledge-recall-page .account-menu-separator{background:var(--kr-border)}
.knowledge-recall-page .account-menu-session.is-logout:hover,
.knowledge-recall-page .account-menu-session.is-logout:focus-visible{background:color-mix(in srgb,#dc2626 12%,var(--kr-control-bg));color:#ef4444}
.knowledge-recall-page .kr-question-card{border-color:var(--kr-border);background:linear-gradient(145deg,var(--kr-card),var(--kr-card-2))}
.knowledge-recall-page .kr-option{border-color:var(--kr-border);background:var(--kr-choice-bg);color:var(--kr-card-ink)}
.knowledge-recall-page .kr-node-label{color:var(--kr-card-ink)}
.knowledge-recall-page .kr-question-library-nav,
.knowledge-recall-page .kr-reset-question-btn,
.knowledge-recall-page #krCanvasZoomDock,
.knowledge-recall-page .kr-session-stats-canvas{
  border-color:var(--kr-border);background:var(--kr-surface-glass);color:var(--kr-control-ink);
}
.knowledge-recall-page .kr-question-nav-arrow,
.knowledge-recall-page .kr-question-library-trigger,
.knowledge-recall-page .kr-reset-question-btn,
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-btn{color:var(--kr-control-ink)}
.knowledge-recall-page .kr-question-nav-arrow:hover,
.knowledge-recall-page .kr-question-nav-arrow:focus-visible,
.knowledge-recall-page .kr-question-library-trigger:hover,
.knowledge-recall-page .kr-question-library-trigger:focus-visible,
.knowledge-recall-page .kr-reset-question-btn:hover,
.knowledge-recall-page .kr-reset-question-btn:focus-visible,
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-btn:hover,
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-btn:focus-visible{
  border-color:var(--kr-border);background:var(--kr-control-hover);color:var(--kr-primary-dark);
}
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-btn{background:var(--kr-control-bg)}
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-percent{background:var(--kr-choice-bg);color:var(--kr-control-ink)}
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-percent:hover,
.knowledge-recall-page #krCanvasZoomDock .lp-canvas-zoom-percent:focus-visible{background:var(--kr-control-hover);color:var(--kr-primary-dark)}
.knowledge-recall-page .kr-session-stats-canvas span{border-color:var(--kr-border);background:var(--kr-choice-bg);color:var(--kr-muted)}
.knowledge-recall-page .kr-session-stats-canvas strong{color:var(--kr-primary-dark)}
.knowledge-recall-page #krQuestionDrawer.lp-question-library-compact{
  border-color:var(--kr-border)!important;background:var(--kr-card)!important;color:var(--kr-card-ink)!important;
}
.knowledge-recall-page .kr-drawer-tools{border-color:var(--kr-border);background:var(--kr-card)}
.knowledge-recall-page .kr-drawer-search,
.knowledge-recall-page .kr-bank-picker,
.knowledge-recall-page .lp-question-paper-row,
.knowledge-recall-page .lp-question-paper-select,
.knowledge-recall-page .lp-question-library-close,
.knowledge-recall-page .lp-question-text-action,
.knowledge-recall-page .kr-question-filters button,
.knowledge-recall-page .kr-question-item{
  border-color:var(--kr-border)!important;background:var(--kr-control-bg)!important;color:var(--kr-card-ink)!important;
}
.knowledge-recall-page .kr-drawer-search input,
.knowledge-recall-page .kr-bank-picker select,
.knowledge-recall-page .lp-question-paper-select{color:var(--kr-card-ink)!important;background:transparent!important}
.knowledge-recall-page .kr-question-item:hover{border-color:var(--kr-primary)!important;background:var(--kr-control-hover)!important}
.knowledge-recall-page .kr-question-item.active{border-color:var(--kr-primary)!important;background:color-mix(in srgb,var(--kr-primary) 12%,var(--kr-control-bg))!important}
.knowledge-recall-page .kr-question-index{background:var(--kr-choice-bg);color:var(--kr-muted)}
.knowledge-recall-page .kr-question-copy strong{color:var(--kr-card-ink)}
.knowledge-recall-page .kr-question-copy small{color:var(--kr-muted)}
.knowledge-recall-page .kr-drawer-backdrop{background:color-mix(in srgb,var(--kr-ink) 30%,transparent)}

/* Scene is an icon-only hover/focus palette; one click applies a scene immediately. */
.knowledge-recall-page .kr-scene-menu{position:relative}
.knowledge-recall-page .kr-scene-menu>summary{
  width:auto;height:36px;min-width:68px;padding:0 8px;gap:5px;border-color:var(--kr-border);border-radius:11px;
  background:var(--kr-control-bg);color:var(--kr-control-ink);box-shadow:none;
}
.knowledge-recall-page .kr-scene-menu>summary svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.knowledge-recall-page .kr-scene-menu>summary:hover,
.knowledge-recall-page .kr-scene-menu>summary:focus-visible,
.knowledge-recall-page .kr-scene-menu[open]>summary{
  border-color:var(--kr-primary);background:var(--kr-control-hover);color:var(--kr-primary-dark);outline:none;
}
.knowledge-recall-page .kr-scene-panel{
  right:0;grid-template-columns:repeat(4,38px);gap:8px;width:auto!important;padding:10px;
  border-color:var(--kr-border);background:var(--kr-surface-glass);box-shadow:0 18px 55px color-mix(in srgb,var(--kr-ink) 20%,transparent);
  transform-origin:top right;animation:krScenePanelIn .14s ease both;
}
@keyframes krScenePanelIn{from{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.knowledge-recall-page .kr-tools .kr-scene-option{
  appearance:none;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:1px solid var(--kr-border);
  border-radius:11px;background:var(--kr-control-bg);color:inherit;box-shadow:none;transform:none;cursor:pointer;
}
.knowledge-recall-page .kr-tools .kr-scene-option:hover,
.knowledge-recall-page .kr-tools .kr-scene-option:focus-visible{
  border-color:var(--kr-primary);background:var(--kr-control-hover);box-shadow:0 0 0 3px color-mix(in srgb,var(--kr-primary) 12%,transparent);transform:none;outline:none;
}
.knowledge-recall-page .kr-tools .kr-scene-option.is-active{
  border-color:var(--kr-primary);background:var(--kr-control-hover);box-shadow:0 0 0 2px color-mix(in srgb,var(--kr-primary) 24%,transparent);
}
.knowledge-recall-page .kr-scene-swatch{
  position:relative;display:block;width:24px;height:24px;border:2px solid rgba(255,255,255,.78);border-radius:8px;
  background:linear-gradient(135deg,var(--kr-scene-a),var(--kr-scene-b));box-shadow:0 2px 7px rgba(15,23,42,.16),inset 0 0 0 1px rgba(15,23,42,.08);
}
.knowledge-recall-page .kr-scene-swatch::after{
  content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-radius:50%;background:var(--kr-scene-c);box-shadow:0 0 0 1px rgba(15,23,42,.10);
}
/* --kr-scene-* 场景色块已迁至 learning-theme.css（深度回忆与多题归纳共享）。 */

/* Hover stays visually still, while pointer-down/click feedback remains unmistakable. */
.knowledge-recall-page .kr-node button{
  transition:transform .10s ease,box-shadow .14s ease,filter .14s ease;
}
.knowledge-recall-page .kr-node button:hover{
  transform:none;filter:none;box-shadow:0 10px 26px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.08);
}
.knowledge-recall-page .kr-node button:active,
.knowledge-recall-page .kr-node button.is-pressed,
.knowledge-recall-page .kr-node button:hover:active,
.knowledge-recall-page .kr-node button:hover.is-pressed{
  transform:translateY(2px) scale(.985);
  box-shadow:0 6px 16px rgba(15,23,42,.16),0 0 0 1px rgba(15,23,42,.10);
}
.knowledge-recall-page .kr-node button:active::after,
.knowledge-recall-page .kr-node button.is-pressed::after,
.knowledge-recall-page .kr-node button:hover:active::after,
.knowledge-recall-page .kr-node button:hover.is-pressed::after{
  transform:translate(-50%,-46%) scale(.92);filter:none;
  box-shadow:inset 0 7px 11px rgba(15,23,42,.18),0 4px 10px rgba(15,23,42,.10);
}
.knowledge-recall-page .kr-node button:active span,
.knowledge-recall-page .kr-node button.is-pressed span,
.knowledge-recall-page .kr-node button:hover:active span,
.knowledge-recall-page .kr-node button:hover.is-pressed span{
  transform:translate(-50%,-46%) scale(.92);filter:none;
}

/* Selection ring must survive hover and press; hover rules may never erase it. */
.knowledge-recall-page .kr-node.is-active button,
.knowledge-recall-page .kr-node.is-active button:hover,
.knowledge-recall-page .kr-node.is-active button:focus-visible{
  box-shadow:0 20px 44px var(--kr-selected-glow),0 0 0 3px var(--kr-selected-ring);
}
.knowledge-recall-page .kr-node.is-active button:active,
.knowledge-recall-page .kr-node.is-active button.is-pressed,
.knowledge-recall-page .kr-node.is-active button:hover:active,
.knowledge-recall-page .kr-node.is-active button:hover.is-pressed{
  box-shadow:0 8px 20px var(--kr-selected-glow),0 0 0 3px var(--kr-selected-ring);
}

@media(max-width:620px){
  .knowledge-recall-page .kr-scene-menu{display:block}
  .knowledge-recall-page .kr-scene-panel{
    position:fixed;top:calc(var(--lp-shell-height,64px) + 6px);right:8px;left:auto;
    grid-template-columns:repeat(4,38px);max-width:calc(100vw - 16px);transform-origin:top right;
  }
}
@media(prefers-reduced-motion:reduce){
  .knowledge-recall-page .kr-scene-panel{animation:none}
  .knowledge-recall-page .kr-node button{transition:none}
}

/* Shared learning shell previously forced a white header; bind it back to the scene palette. */
.knowledge-recall-page .kr-app{
  --kr-theme-control-ink:var(--kr-control-ink);
  --kr-theme-muted:var(--kr-muted);
  --lp-shell-bg:var(--kr-topbar-bg);
  --lp-shell-ink:var(--kr-ink);
  --lp-shell-border:var(--kr-border);
}
.knowledge-recall-page .kr-topbar.lp-topbar,
.knowledge-recall-page .kr-topbar.lp-topbar *{
  --kr-control-ink:var(--kr-theme-control-ink);
  --kr-muted:var(--kr-theme-muted);
}
.knowledge-recall-page .kr-topbar.lp-topbar{
  border-bottom-color:var(--kr-border)!important;background:var(--kr-topbar-bg)!important;color:var(--kr-ink)!important;
}
.knowledge-recall-page .kr-topbar.lp-topbar .kr-back{
  border-color:var(--kr-border)!important;background:var(--kr-control-bg)!important;color:var(--kr-control-ink)!important;
}
.knowledge-recall-page .kr-topbar.lp-topbar .kr-language-switch button{color:var(--kr-muted)!important}
.knowledge-recall-page .kr-topbar.lp-topbar .kr-language-switch button[aria-pressed="true"],
.knowledge-recall-page .kr-topbar.lp-topbar .kr-language-switch button.is-active{
  background:var(--kr-control-bg)!important;color:var(--kr-primary-dark)!important;
}
.knowledge-recall-page .kr-topbar.lp-topbar .auth-status{color:var(--kr-control-ink)!important}

/* Knowledge-card shells and their depth bands also follow the active scene. */
.knowledge-recall-page .kr-node button{background:var(--kr-control-bg)}
.knowledge-recall-page .kr-node button::before{
  background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-base-b) 18%,var(--kr-card-2)),var(--kr-control-bg));
}
.knowledge-recall-page .kr-node.depth-0 button::before{
  background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-root-b) 18%,var(--kr-card-2)),var(--kr-control-bg));
}
.knowledge-recall-page .kr-node.depth-2 button::before,
.knowledge-recall-page .kr-node.depth-5 button::before{
  background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-alt-b) 18%,var(--kr-card-2)),var(--kr-control-bg));
}
.knowledge-recall-page .kr-node.depth-3 button::before,
.knowledge-recall-page .kr-node.depth-6 button::before{
  background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-cool-b) 18%,var(--kr-card-2)),var(--kr-control-bg));
}

/* Kept as a non-visible compatibility control for existing integrations and saved automation tests. */
.knowledge-recall-page .kr-theme-compat-select{
  position:absolute!important;right:0!important;bottom:0!important;width:1px!important;height:1px!important;
  margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;
}
      40 updata-legacy/styles/knowledge-recall-p4322.css
/* V9.0-P4.3.22 — deep recall lightweight card and right-button canvas parity. */

/* The shared shell title uses a true rectangular surface instead of a rounded capsule. */
.knowledge-recall-page .kr-brand .kr-title-block{
  display:flex;align-items:center;min-height:38px;padding:0 14px;
  border:1px solid var(--kr-border);border-radius:0;
  background:var(--kr-control-bg);color:var(--kr-title);box-shadow:none;
}
.knowledge-recall-page .kr-brand .kr-title-block h1{margin:0!important}

/* Left-button work always keeps the normal arrow. Only an active canvas pan uses the grabbing cursor. */
.knowledge-recall-page .kr-viewport{cursor:default!important}
.knowledge-recall-page .kr-viewport.dragging{cursor:grabbing!important}
.knowledge-recall-page .kr-question-card{cursor:default}

/* The question card intentionally starts with the stem; its source title remains metadata only. */
.knowledge-recall-page .kr-question-card>.kr-stem:first-child{margin-top:0}

/* Reuse the multi-question canvas context-menu language without importing the legacy main bundle. */
.knowledge-recall-page .graph-context-menu{
  position:absolute;z-index:690;min-width:148px;padding:4px;
  border:1px solid rgba(148,163,184,.38);border-radius:8px;
  background:rgba(255,255,255,.98);box-shadow:0 10px 26px rgba(15,23,42,.15);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;transform:translateY(-3px) scale(.98);transform-origin:top left;
  pointer-events:none;transition:opacity .12s ease,transform .12s ease;
}
.knowledge-recall-page .graph-context-menu.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.knowledge-recall-page .graph-context-menu-list{display:grid;gap:2px}
.knowledge-recall-page .graph-context-menu-item{
  position:relative;display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;
  border:0;border-radius:6px;background:transparent;color:#1e293b;text-align:left;
  font:650 12px/1.2 ui-sans-serif,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
  cursor:pointer;white-space:nowrap;
}
.knowledge-recall-page .graph-context-menu-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.knowledge-recall-page .graph-context-menu-item:hover,.knowledge-recall-page .graph-context-menu-item:focus-visible{background:#eef2ff;color:#4338ca;outline:none}
.knowledge-recall-page .graph-context-menu-item:disabled{color:#94a3b8;background:transparent;cursor:not-allowed}
.knowledge-recall-page .graph-context-menu [hidden]{display:none!important}
.knowledge-recall-page .graph-context-separator{height:1px;margin:4px 3px;background:#e2e8f0}
/* V9.0-P4.5.17 · Deep Recall large-graph lightweight rendering */
.knowledge-recall-page .kr-edge{
  fill:none;stroke:var(--kr-line);stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:none;opacity:.78;filter:none!important;transition:none!important;animation:none!important;
}
.knowledge-recall-page .kr-edge-glow{display:none!important}
.knowledge-recall-page .kr-node button,
.knowledge-recall-page .kr-node button:hover,
.knowledge-recall-page .kr-node button:active,
.knowledge-recall-page .kr-node button.is-pressed{
  background:var(--kr-control-bg)!important;border:1px solid var(--kr-border)!important;
  box-shadow:none!important;filter:none!important;text-shadow:none!important;
  transition:border-color .10s ease,transform .08s ease!important;cursor:grab;touch-action:none;
}
.knowledge-recall-page .kr-node.is-dragging button{cursor:grabbing;transform:scale(.99)!important}
.knowledge-recall-page .kr-node button::before{display:none!important}
.knowledge-recall-page .kr-node button::after{
  background:var(--kr-node-base-b)!important;box-shadow:none!important;filter:none!important;transition:transform .08s ease!important;
}
.knowledge-recall-page .kr-node.depth-0 button::after{background:var(--kr-node-root-b)!important}
.knowledge-recall-page .kr-node.depth-2 button::after,
.knowledge-recall-page .kr-node.depth-5 button::after{background:var(--kr-node-alt-b)!important}
.knowledge-recall-page .kr-node.depth-3 button::after,
.knowledge-recall-page .kr-node.depth-6 button::after{background:var(--kr-node-cool-b)!important}
.knowledge-recall-page .kr-node button span{filter:none!important;text-shadow:none!important;transition:transform .08s ease!important}
.knowledge-recall-page .kr-node button:hover::after,
.knowledge-recall-page .kr-node button:active::after,
.knowledge-recall-page .kr-node button.is-pressed::after{box-shadow:none!important;filter:none!important}
.knowledge-recall-page .kr-node.is-active button,
.knowledge-recall-page .kr-node.is-active button:hover,
.knowledge-recall-page .kr-node.is-active button:focus-visible,
.knowledge-recall-page .kr-node.is-active button:active,
.knowledge-recall-page .kr-node.is-active button.is-pressed{
  box-shadow:none!important;outline:3px solid var(--kr-selected-ring);outline-offset:2px;
}
.knowledge-recall-page .kr-node-label{box-shadow:none!important;text-shadow:none!important}
/* The single center question card remains the visual anchor. */
/* V9.0-P4.5.21 · Current-canvas node search */
.knowledge-recall-page .kr-canvas-overlay-right{
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.knowledge-recall-page .kr-node-search-panel{
  position:absolute;
  top:48px;
  right:0;
  width:min(340px,calc(100vw - 24px));
  max-height:min(430px,calc(100vh - 140px));
  overflow:hidden;
  padding:10px;
  border:1px solid var(--kr-border);
  border-radius:14px;
  background:var(--kr-card);
  color:var(--kr-card-ink);
  box-shadow:none;
}
@media(max-width:850px){
  .knowledge-recall-page .kr-session-stats-canvas{bottom:68px}
}
@media(max-width:600px){
  .knowledge-recall-page .kr-session-stats-canvas{left:8px;right:8px;max-width:calc(100% - 16px);transform:none}
}
.knowledge-recall-page .kr-node-search-panel[hidden]{display:none}
.knowledge-recall-page .kr-node-search-input-row{display:flex;gap:7px;align-items:center}
.knowledge-recall-page #krNodeSearchInput{
  min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid var(--kr-border);
  border-radius:10px;background:var(--kr-control-bg);color:var(--kr-control-ink);outline:none;
}
.knowledge-recall-page #krNodeSearchInput:focus{border-color:var(--kr-primary)}
.knowledge-recall-page #krNodeSearchCloseBtn{
  width:36px;height:36px;border:1px solid var(--kr-border);border-radius:10px;
  background:var(--kr-control-bg);color:var(--kr-control-ink);cursor:pointer;font-size:20px;line-height:1;
}
.knowledge-recall-page .kr-node-search-status{padding:8px 3px 6px;font-size:12px;color:var(--kr-muted)}
.knowledge-recall-page .kr-node-search-results{
  display:grid;gap:5px;max-height:330px;overflow:auto;overscroll-behavior:contain;
}
.knowledge-recall-page .kr-node-search-result{
  appearance:none;width:100%;text-align:left;border:1px solid transparent;border-radius:10px;
  padding:8px 10px;background:transparent;color:var(--kr-card-ink);cursor:pointer;
}
.knowledge-recall-page .kr-node-search-result:hover,
.knowledge-recall-page .kr-node-search-result:focus-visible{
  border-color:var(--kr-border);background:var(--kr-control-hover);outline:none;
}
.knowledge-recall-page .kr-node-search-result strong{display:block;font-size:13px;line-height:1.35}
.knowledge-recall-page .kr-node-search-result small{display:block;margin-top:2px;color:var(--kr-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.knowledge-recall-page .kr-node-search-empty{padding:16px 8px;text-align:center;color:var(--kr-muted);font-size:12px}
/* V9.0-P4.5.21 · Connected Deep Recall action toolbar */
.knowledge-recall-page .kr-canvas-overlay-right{
  display:block;
}
.knowledge-recall-page .kr-canvas-action-group{
  display:flex;
  align-items:center;
  gap:0;
  border:1px solid var(--kr-border);
  border-radius:12px;
  overflow:hidden;
  background:var(--kr-surface-glass);
}
.knowledge-recall-page .kr-canvas-action-group .kr-reset-question-btn{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  background:var(--kr-control-bg)!important;
}
.knowledge-recall-page .kr-canvas-action-group .kr-reset-question-btn + .kr-reset-question-btn{
  border-left:1px solid var(--kr-border)!important;
}
.knowledge-recall-page .kr-canvas-action-group .kr-reset-question-btn:hover,
.knowledge-recall-page .kr-canvas-action-group .kr-reset-question-btn:focus-visible{
  background:var(--kr-control-hover)!important;
  box-shadow:none!important;
  outline:none;
}
.knowledge-recall-page .kr-canvas-action-group .kr-reset-question-btn:focus-visible{
  box-shadow:inset 0 0 0 2px var(--kr-selected-ring)!important;
}
.knowledge-recall-page .kr-node-search-panel{
  top:48px;
  right:0;
}
