:root{
  --kr-bg:#f5f7fb;
  --kr-bg-a:#eef4ff;
  --kr-bg-b:#f8fbff;
  --kr-bg-c:#f6f3ff;
  --kr-ink:#0f172a;
  --kr-muted:#64748b;
  --kr-card:rgba(255,255,255,.92);
  --kr-card-2:#f8fafc;
  --kr-card-ink:#0f172a;
  --kr-title:var(--role-text,#1e3a8a);
  --kr-primary:var(--role-primary,#2563eb);
  --kr-primary-dark:#1d4ed8;
  --kr-gold:#f59e0b;
  --kr-green:#22c55e;
  --kr-brown:#475569;
  --kr-line:#2563eb;
  --kr-line-glow:rgba(37,99,235,.18);
  --kr-border:rgba(148,163,184,.26);
  --kr-dash-border:rgba(37,99,235,.22);
  --kr-topbar-bg:rgba(255,255,255,.88);
  --kr-control-bg:#ffffff;
  --kr-control-hover:#eff6ff;
  --kr-control-ink:#1e3a8a;
  --kr-label-bg:rgba(255,255,255,.95);
  --kr-guide-bg-a:#ffffff;
  --kr-guide-bg-b:#eff6ff;
  --kr-choice-bg:rgba(248,250,252,.88);
  --kr-choice-hover:#eff6ff;
  --kr-grid-line:rgba(37,99,235,.06);
  --kr-shadow:0 18px 50px rgba(15,23,42,.12);
  --kr-highlight-from:rgba(37,99,235,.16);
  --kr-highlight-to:rgba(219,234,254,.92);
  --kr-highlight-ring:rgba(37,99,235,.18);
  --kr-highlight-hover:rgba(37,99,235,.10);
  --kr-highlight-text:#172554;
  --kr-node-base-a:#dbeafe;
  --kr-node-base-b:#60a5fa;
  --kr-node-base-c:#2563eb;
  --kr-node-base-d:#1e3a8a;
  --kr-node-base-shadow:#1d4ed8;
  --kr-node-root-a:#ede9fe;
  --kr-node-root-b:#a78bfa;
  --kr-node-root-c:#7c3aed;
  --kr-node-root-d:#4c1d95;
  --kr-node-root-shadow:#6d28d9;
  --kr-node-alt-a:#dcfce7;
  --kr-node-alt-b:#4ade80;
  --kr-node-alt-c:#16a34a;
  --kr-node-alt-d:#166534;
  --kr-node-alt-shadow:#15803d;
  --kr-node-cool-a:#cffafe;
  --kr-node-cool-b:#22d3ee;
  --kr-node-cool-c:#0891b2;
  --kr-node-cool-d:#164e63;
  --kr-node-cool-shadow:#0e7490;
}
:is(.kr-app,.kr-viewport)[data-theme="parchment"]{
  --kr-bg:#f5efe4;
  --kr-bg-a:#f8ead2;
  --kr-bg-b:#f5efe4;
  --kr-bg-c:#efe0c6;
  --kr-ink:#263238;
  --kr-muted:#6b7280;
  --kr-card:#fffaf0;
  --kr-card-2:#fff7d9;
  --kr-card-ink:#3c2a18;
  --kr-title:#4b2c12;
  --kr-primary:#8b5cf6;
  --kr-primary-dark:#5b21b6;
  --kr-gold:#f59e0b;
  --kr-green:#10b981;
  --kr-brown:#7c4a21;
  --kr-line:#b7791f;
  --kr-line-glow:rgba(255,221,87,.45);
  --kr-border:rgba(124,74,33,.20);
  --kr-dash-border:rgba(124,74,33,.25);
  --kr-topbar-bg:rgba(255,250,240,.82);
  --kr-control-bg:#fff8e9;
  --kr-control-hover:#fff2cb;
  --kr-control-ink:#593614;
  --kr-label-bg:rgba(255,250,240,.94);
  --kr-guide-bg-a:#fffefa;
  --kr-guide-bg-b:#fff3d0;
  --kr-choice-bg:rgba(255,255,255,.76);
  --kr-choice-hover:#fff8e4;
  --kr-grid-line:rgba(125,91,39,.08);
  --kr-shadow:0 18px 40px rgba(68,42,13,.18);
  --kr-highlight-from:rgba(251,191,36,.34);
  --kr-highlight-to:rgba(253,230,138,.88);
  --kr-highlight-ring:rgba(251,191,36,.26);
  --kr-highlight-hover:rgba(251,191,36,.18);
  --kr-highlight-text:#3a1f0a;
  --kr-node-base-a:#fbd38d;
  --kr-node-base-b:#f59e0b;
  --kr-node-base-c:#b45309;
  --kr-node-base-d:#78350f;
  --kr-node-base-shadow:#7c3f0a;
  --kr-node-root-a:#c4b5fd;
  --kr-node-root-b:#8b5cf6;
  --kr-node-root-c:#5b21b6;
  --kr-node-root-d:#3b0764;
  --kr-node-root-shadow:#4c1d95;
  --kr-node-alt-a:#86efac;
  --kr-node-alt-b:#22c55e;
  --kr-node-alt-c:#15803d;
  --kr-node-alt-d:#14532d;
  --kr-node-alt-shadow:#166534;
  --kr-node-cool-a:#93c5fd;
  --kr-node-cool-b:#3b82f6;
  --kr-node-cool-c:#1d4ed8;
  --kr-node-cool-d:#1e3a8a;
  --kr-node-cool-shadow:#1e40af;
}
:is(.kr-app,.kr-viewport)[data-theme="aurora"]{
  --kr-bg:#ecfdf5;--kr-bg-a:#d9f99d;--kr-bg-b:#ecfdf5;--kr-bg-c:#ccfbf1;--kr-card:#f7fee7;--kr-card-2:#dcfce7;--kr-card-ink:#123524;--kr-title:#14532d;--kr-primary:#10b981;--kr-primary-dark:#047857;--kr-line:#059669;--kr-line-glow:rgba(16,185,129,.34);--kr-border:rgba(6,95,70,.2);--kr-dash-border:rgba(6,95,70,.26);--kr-topbar-bg:rgba(240,253,244,.84);--kr-control-bg:#ecfdf5;--kr-control-hover:#d1fae5;--kr-control-ink:#064e3b;--kr-label-bg:rgba(240,253,244,.95);--kr-guide-bg-a:#f7fee7;--kr-guide-bg-b:#d1fae5;--kr-choice-hover:#ecfdf5;--kr-grid-line:rgba(6,95,70,.09);--kr-shadow:0 18px 40px rgba(6,78,59,.16)
}
:is(.kr-app,.kr-viewport)[data-theme="neon"]{
  --kr-bg:#111827;--kr-bg-a:#0f172a;--kr-bg-b:#111827;--kr-bg-c:#312e81;--kr-ink:#eef2ff;--kr-muted:#cbd5e1;--kr-card:#171b32;--kr-card-2:#272554;--kr-card-ink:#eef2ff;--kr-title:#f5f3ff;--kr-primary:#a78bfa;--kr-primary-dark:#7c3aed;--kr-line:#22d3ee;--kr-line-glow:rgba(34,211,238,.28);--kr-border:rgba(167,139,250,.28);--kr-dash-border:rgba(34,211,238,.24);--kr-topbar-bg:rgba(15,23,42,.82);--kr-control-bg:#1e1b4b;--kr-control-hover:#312e81;--kr-control-ink:#f5f3ff;--kr-label-bg:rgba(30,27,75,.94);--kr-guide-bg-a:#111827;--kr-guide-bg-b:#272554;--kr-choice-bg:rgba(30,27,75,.82);--kr-choice-hover:#312e81;--kr-grid-line:rgba(125,211,252,.08);--kr-shadow:0 20px 45px rgba(0,0,0,.38);--kr-node-root-a:#ddd6fe;--kr-node-root-b:#a78bfa;--kr-node-root-c:#7c3aed;--kr-node-root-d:#4c1d95;--kr-node-alt-a:#67e8f9;--kr-node-alt-b:#06b6d4;--kr-node-alt-c:#0e7490;--kr-node-alt-d:#164e63;--kr-node-alt-shadow:#155e75
}
:is(.kr-app,.kr-viewport)[data-theme="sakura"]{
  --kr-bg:#fff1f2;--kr-bg-a:#ffe4e6;--kr-bg-b:#fff1f2;--kr-bg-c:#fce7f3;--kr-card:#fff7f9;--kr-card-2:#ffe4e6;--kr-card-ink:#4a1d2d;--kr-title:#831843;--kr-primary:#ec4899;--kr-primary-dark:#be185d;--kr-line:#f472b6;--kr-line-glow:rgba(244,114,182,.32);--kr-border:rgba(190,24,93,.18);--kr-dash-border:rgba(190,24,93,.24);--kr-topbar-bg:rgba(255,241,242,.84);--kr-control-bg:#fff7f9;--kr-control-hover:#ffe4e6;--kr-control-ink:#831843;--kr-label-bg:rgba(255,247,249,.95);--kr-guide-bg-a:#fff7f9;--kr-guide-bg-b:#ffe4e6;--kr-choice-hover:#fff1f2;--kr-grid-line:rgba(190,24,93,.07);--kr-shadow:0 18px 40px rgba(157,23,77,.15);--kr-node-root-a:#fbcfe8;--kr-node-root-b:#ec4899;--kr-node-root-c:#be185d;--kr-node-root-d:#831843;--kr-node-root-shadow:#9d174d
}
:is(.kr-app,.kr-viewport)[data-theme="ocean"]{
  --kr-bg:#eff6ff;--kr-bg-a:#dbeafe;--kr-bg-b:#eff6ff;--kr-bg-c:#cffafe;--kr-card:#f8fbff;--kr-card-2:#e0f2fe;--kr-card-ink:#0f2942;--kr-title:#0c4a6e;--kr-primary:#0ea5e9;--kr-primary-dark:#0369a1;--kr-line:#0284c7;--kr-line-glow:rgba(14,165,233,.3);--kr-border:rgba(3,105,161,.20);--kr-dash-border:rgba(3,105,161,.24);--kr-topbar-bg:rgba(239,246,255,.84);--kr-control-bg:#f0f9ff;--kr-control-hover:#e0f2fe;--kr-control-ink:#075985;--kr-label-bg:rgba(240,249,255,.96);--kr-guide-bg-a:#f8fbff;--kr-guide-bg-b:#e0f2fe;--kr-choice-hover:#f0f9ff;--kr-grid-line:rgba(2,132,199,.08);--kr-shadow:0 18px 40px rgba(12,74,110,.16);--kr-node-root-a:#bae6fd;--kr-node-root-b:#0ea5e9;--kr-node-root-c:#0369a1;--kr-node-root-d:#075985;--kr-node-root-shadow:#0369a1
}
:is(.kr-app,.kr-viewport)[data-theme="latte"]{
  --kr-bg:#faf3e8;--kr-bg-a:#fef3c7;--kr-bg-b:#faf3e8;--kr-bg-c:#ead7bd;--kr-card:#fffaf4;--kr-card-2:#ffedd5;--kr-card-ink:#3d2a1a;--kr-title:#5f3517;--kr-primary:#c08457;--kr-primary-dark:#92400e;--kr-line:#b45309;--kr-line-glow:rgba(180,83,9,.24);--kr-border:rgba(120,53,15,.18);--kr-dash-border:rgba(120,53,15,.24);--kr-topbar-bg:rgba(255,250,244,.84);--kr-control-bg:#fff7ed;--kr-control-hover:#ffedd5;--kr-control-ink:#7c2d12;--kr-label-bg:rgba(255,250,244,.95);--kr-guide-bg-a:#fffaf4;--kr-guide-bg-b:#ffedd5;--kr-choice-hover:#fff7ed;--kr-grid-line:rgba(120,53,15,.08);--kr-shadow:0 18px 40px rgba(67,38,10,.17)
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;background:var(--kr-bg);color:var(--kr-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,select{font:inherit}
.kr-app{height:100%;display:flex;flex-direction:column;background:
  radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--kr-gold) 22%,transparent),transparent 34%),
  radial-gradient(circle at 82% 8%,color-mix(in srgb,var(--kr-primary) 16%,transparent),transparent 32%),
  linear-gradient(135deg,var(--kr-bg-a) 0%,var(--kr-bg-b) 42%,var(--kr-bg-c) 100%)}
.kr-topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid var(--kr-border);background:var(--kr-topbar-bg);backdrop-filter:blur(14px);box-shadow:0 8px 26px rgba(0,0,0,.10);z-index:20}
.kr-brand{display:flex;align-items:center;gap:12px;min-width:0}
.kr-brand h1{margin:0;font-size:20px;letter-spacing:.02em;color:var(--kr-title)}
.kr-brand p{margin:4px 0 0;color:var(--kr-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.kr-back{width:40px;height:40px;border:0;border-radius:14px;background:linear-gradient(145deg,var(--kr-control-bg),var(--kr-control-hover));color:var(--kr-control-ink);font-weight:900;font-size:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 0 color-mix(in srgb,var(--kr-primary-dark) 58%,#7c4a21),0 13px 24px rgba(0,0,0,.18);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.kr-back:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 0 color-mix(in srgb,var(--kr-primary-dark) 58%,#7c4a21),0 8px 16px rgba(0,0,0,.16)}
.kr-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.kr-tools button,.kr-theme-control select{border:1px solid var(--kr-border);background:var(--kr-control-bg);color:var(--kr-control-ink);border-radius:999px;padding:8px 13px;box-shadow:0 4px 12px rgba(0,0,0,.10);cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}
.kr-tools button:hover,.kr-theme-control select:hover{background:var(--kr-control-hover);transform:translateY(-1px)}
.kr-tools button:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.kr-theme-control{display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:var(--kr-muted);font-size:12px;font-weight:800;white-space:nowrap}
.kr-theme-control select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 53%,calc(100% - 11px) 53%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;font-size:13px;font-weight:700}
.kr-viewport{position:relative;flex:1;overflow:hidden;cursor:grab;touch-action:none;background-image:
  linear-gradient(var(--kr-grid-line) 1px,transparent 1px),
  linear-gradient(90deg,var(--kr-grid-line) 1px,transparent 1px);
  background-size:40px 40px}
.kr-viewport.dragging{cursor:grabbing}
.kr-world{position:absolute;left:0;top:0;width:1px;height:1px;transform-origin:0 0;will-change:transform}
.kr-world.smooth{transition:transform .42s cubic-bezier(.2,.72,.2,1)}
.kr-edges{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:1}
.kr-edge{fill:none;stroke:var(--kr-line);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 2px rgba(0,0,0,.18));stroke-dasharray:9 10;opacity:.88}
.kr-edge.new{stroke-dasharray:1;animation:krDrawLine .7s ease both}
.kr-edge-glow{fill:none;stroke:var(--kr-line-glow);stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
@keyframes krDrawLine{from{stroke-dashoffset:240;opacity:.1}to{stroke-dashoffset:0;opacity:.92}}
.kr-question-card{position:absolute;z-index:3;left:0;top:0;width:min(780px,calc(100vw - 52px));max-width:780px;transform:translate(-50%,-50%);padding:24px;border-radius:30px;border:1px solid var(--kr-border);background:linear-gradient(145deg,var(--kr-card),var(--kr-card-2));box-shadow:var(--kr-shadow),inset 0 1px 0 rgba(255,255,255,.42)}
.kr-question-card:before{content:"";position:absolute;inset:10px;border:1px dashed var(--kr-dash-border);border-radius:23px;pointer-events:none}
.kr-question-title{position:relative;margin:0 0 12px;font-size:20px;color:var(--kr-title);display:flex;gap:10px;align-items:center}
.kr-question-title:before{content:"藏宝题";font-size:12px;background:var(--kr-primary);color:white;padding:5px 9px;border-radius:999px;box-shadow:0 4px 10px color-mix(in srgb,var(--kr-primary) 30%,transparent)}
.kr-stem{position:relative;font-size:18px;line-height:1.82;color:var(--kr-card-ink);padding:4px 2px 12px}
/* P4.5.30：选项结构与样式改用多题画布 qw-card-options 系列（question-workspace.css），
   旧 .kr-options/.kr-option 整行按钮规则已删除，kr-option 类名保留在 <li> 上作 JS/测试钩子。 */
.kr-keyword{display:inline;border-radius:9px;padding:1px 5px;margin:0 1px;background:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:inherit;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,color .18s ease}
.kr-keyword:hover{background:var(--kr-highlight-hover);color:var(--kr-highlight-text)}
.kr-keyword.active{background:linear-gradient(90deg,var(--kr-highlight-from),var(--kr-highlight-to));box-shadow:0 0 0 3px var(--kr-highlight-ring);color:var(--kr-highlight-text)}
.kr-node-layer{position:absolute;left:0;top:0;z-index:5}
.kr-node{position:absolute;width:132px;min-height:112px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:0;z-index:6;pointer-events:none}
.kr-node.is-new{animation:krNodePop .42s cubic-bezier(.2,1.2,.26,1) both}
.kr-node button{pointer-events:auto;width:116px;height:104px;border:0;border-radius:20px;cursor:pointer;color:#fff;font-size:28px;font-weight:1000;line-height:1;display:grid;place-items:center;text-shadow:0 2px 4px rgba(15,23,42,.22);background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.08);transition:box-shadow .14s ease,filter .14s ease;position:relative;overflow:hidden;padding:0}
.kr-node button:before{content:"";position:absolute;left:0;right:0;top:0;height:58%;background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-base-b) 18%,#f3f4f6),#e5e7eb);border-radius:20px 20px 0 0;z-index:0}
.kr-node button:after{content:"";position:absolute;left:50%;top:29%;width:56px;height:56px;border-radius:18px;transform:translate(-50%,-50%);background:var(--kr-node-base-b);box-shadow:inset 0 -8px 0 rgba(15,23,42,.08),0 8px 18px rgba(15,23,42,.12);z-index:1;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.kr-node button span{position:absolute;left:50%;top:29%;transform:translate(-50%,-50%);z-index:2;color:#fff;display:grid;place-items:center;width:56px;height:56px;font-size:23px;transition:transform .14s ease,filter .14s ease}
.kr-node button:hover{filter:saturate(1.02);transform:none;box-shadow:0 10px 26px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.08)}
.kr-node button:hover:after{transform:translate(-50%,-54%);filter:brightness(1.05);box-shadow:inset 0 -8px 0 rgba(15,23,42,.08),0 11px 22px rgba(15,23,42,.16)}
.kr-node button:hover span{transform:translate(-50%,-54%)}
.kr-node button:active,.kr-node button.is-pressed{transform:none;box-shadow:0 10px 26px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.08)}
.kr-node button:active:after,.kr-node button.is-pressed:after{transform:translate(-50%,-47%) scale(.94);box-shadow:inset 0 6px 10px rgba(15,23,42,.16),0 5px 12px rgba(15,23,42,.10)}
.kr-node button:active span,.kr-node button.is-pressed span{transform:translate(-50%,-47%) scale(.94)}
.kr-node.depth-0 button:before{background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-root-b) 18%,#f3f4f6),#e5e7eb)}
.kr-node.depth-0 button:after{background:var(--kr-node-root-b)}
.kr-node.depth-2 button:before,.kr-node.depth-5 button:before{background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-alt-b) 18%,#f3f4f6),#e5e7eb)}
.kr-node.depth-2 button:after,.kr-node.depth-5 button:after{background:var(--kr-node-alt-b)}
.kr-node.depth-3 button:before,.kr-node.depth-6 button:before{background:linear-gradient(180deg,color-mix(in srgb,var(--kr-node-cool-b) 18%,#f3f4f6),#e5e7eb)}
.kr-node.depth-3 button:after,.kr-node.depth-6 button:after{background:var(--kr-node-cool-b)}
.kr-node-label{pointer-events:none;position:absolute;left:50%;top:68px;z-index:3;transform:translateX(-50%);width:96px;max-width:96px;padding:0 5px;border-radius:0;background:transparent;border:0;box-shadow:none;font-size:12px;font-weight:850;line-height:1.25;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;text-shadow:none}
.kr-node.is-active button{box-shadow:0 20px 44px color-mix(in srgb,var(--kr-primary) 22%,transparent),0 0 0 3px color-mix(in srgb,var(--kr-primary) 72%,transparent)}
.kr-node.is-active .kr-node-label{color:var(--kr-primary-dark);background:transparent;border-color:transparent}
@keyframes krNodePop{from{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-8deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
.kr-guide{position:absolute;z-index:30;width:min(380px,calc(100vw - 32px));max-width:calc(100% - 36px);max-height:calc(100% - 36px);overflow:auto;overscroll-behavior:contain;border-radius:24px;background:linear-gradient(145deg,var(--kr-guide-bg-a),var(--kr-guide-bg-b));border:1px solid var(--kr-border);box-shadow:0 22px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.28);padding:16px;animation:krGuideIn .18s ease both}
.kr-guide:before{content:"";position:absolute;inset:8px;border-radius:18px;border:1px dashed var(--kr-dash-border);pointer-events:none}
.kr-guide-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;cursor:grab;touch-action:none}
.kr-guide.dragging .kr-guide-head{cursor:grabbing}
.kr-guide h2{margin:0;font-size:17px;color:var(--kr-title)}
.kr-guide p{position:relative;margin:7px 0 0;color:var(--kr-muted);line-height:1.5;font-size:13px}
.kr-guide-close{position:relative;flex:0 0 auto;width:34px;height:34px;border:0;border-radius:13px;background:linear-gradient(145deg,var(--kr-control-bg),var(--kr-control-hover));color:var(--kr-control-ink);font-size:20px;line-height:1;display:inline-grid;place-items:center;padding:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 0 color-mix(in srgb,var(--kr-primary-dark) 50%,#7c4a21),0 9px 14px rgba(0,0,0,.15);cursor:pointer}
.kr-guide-close:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 0 color-mix(in srgb,var(--kr-primary-dark) 50%,#7c4a21),0 5px 10px rgba(0,0,0,.13)}
.kr-choice-list{position:relative;display:grid;gap:8px;margin-top:12px}
.kr-choice-list button,.kr-custom-add{border:1px solid var(--kr-border);border-radius:16px;background:var(--kr-choice-bg);color:var(--kr-title);padding:11px 12px;text-align:left;cursor:pointer;line-height:1.35;box-shadow:0 7px 14px rgba(0,0,0,.08);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.kr-choice-list button:hover,.kr-custom-add:hover{background:var(--kr-choice-hover);transform:translateY(-1px);box-shadow:0 10px 20px rgba(0,0,0,.12)}
.kr-choice-list button:active,.kr-custom-add:active{transform:translateY(2px)}
.kr-guide-actions{position:relative;margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.kr-guide-actions button{border:0;border-radius:999px;background:var(--kr-primary-dark);color:white;padding:8px 12px;cursor:pointer;box-shadow:0 7px 16px color-mix(in srgb,var(--kr-primary-dark) 24%,transparent)}
.kr-guide-actions button.secondary{background:var(--kr-control-bg);color:var(--kr-control-ink);border:1px solid var(--kr-border)}
.kr-custom-form{position:relative;margin-top:10px;display:flex;gap:8px}
.kr-custom-form input{flex:1;min-width:0;border:1px solid var(--kr-border);border-radius:14px;padding:10px 12px;background:var(--kr-card);color:var(--kr-card-ink);outline:none}
.kr-custom-form button{border:0;border-radius:14px;background:var(--kr-green);color:white;font-weight:700;padding:10px 12px;cursor:pointer}
.kr-empty-choices{position:relative;background:rgba(255,255,255,.38);border-radius:16px;padding:12px;color:var(--kr-muted);line-height:1.5}
@keyframes krGuideIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.kr-hint-pill{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:25;border-radius:999px;background:rgba(30,41,59,.76);color:#fff7e5;padding:8px 14px;font-size:12px;box-shadow:0 8px 24px rgba(0,0,0,.22);pointer-events:none}
.kr-focus-ring{animation:krPulse 1.25s ease 1}
@keyframes krPulse{0%,100%{filter:none}50%{filter:drop-shadow(0 0 18px var(--kr-highlight-to))}}
@media (max-width:760px){
  .kr-topbar{height:auto;align-items:flex-start;flex-direction:column;padding:10px 12px;gap:10px}
  .kr-brand p{white-space:normal;max-width:none}.kr-tools{width:100%;justify-content:flex-start}.kr-tools button,.kr-theme-control select{padding:7px 10px;font-size:13px}
  .kr-theme-control{order:-1;width:100%;justify-content:flex-end}.kr-theme-control select{max-width:150px}
  .kr-question-card{width:calc(100vw - 28px);padding:18px;border-radius:24px}.kr-stem{font-size:16px}.kr-hint-pill{display:none}
  .kr-guide{width:min(360px,calc(100vw - 24px));padding:14px}
}
/* P4.5.30：选项闪烁动画改用 qw-option-correct/wrong-flash，降级处理随 question-workspace.css。 */


/* 统一默认主题：与首页、题库、用户管理、系统设置保持一致的白底蓝紫风格。 */
:is(.kr-app,.kr-viewport)[data-theme="platform"]{
  --kr-bg:#f5f7fb;
  --kr-bg-a:#eef4ff;
  --kr-bg-b:#f8fbff;
  --kr-bg-c:#f6f3ff;
  --kr-ink:#0f172a;
  --kr-muted:#64748b;
  --kr-card:rgba(255,255,255,.92);
  --kr-card-2:#f8fafc;
  --kr-card-ink:#0f172a;
  --kr-title:var(--role-text,#1e3a8a);
  --kr-primary:var(--role-primary,#2563eb);
  --kr-primary-dark:#1d4ed8;
  --kr-line:var(--role-primary,#2563eb);
  --kr-line-glow:rgba(37,99,235,.18);
  --kr-border:rgba(148,163,184,.26);
  --kr-dash-border:rgba(37,99,235,.22);
  --kr-topbar-bg:rgba(255,255,255,.88);
  --kr-control-bg:#ffffff;
  --kr-control-hover:#eff6ff;
  --kr-control-ink:var(--role-text,#1e3a8a);
  --kr-label-bg:rgba(255,255,255,.95);
  --kr-guide-bg-a:#ffffff;
  --kr-guide-bg-b:#eff6ff;
  --kr-choice-bg:rgba(248,250,252,.88);
  --kr-choice-hover:#eff6ff;
  --kr-grid-line:rgba(37,99,235,.06);
  --kr-shadow:0 18px 50px rgba(15,23,42,.12);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-topbar{
  height:auto;
  min-height:76px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:0 0 28px 28px;
  box-shadow:0 16px 42px rgba(15,23,42,.10);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-brand h1{
  letter-spacing:0;
  font-size:22px;
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-back{
  border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(135deg,#fff,var(--role-soft,#eff6ff));
  color:var(--role-primary,#2563eb);
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-back:active{
  transform:translateY(1px);
  box-shadow:0 5px 14px rgba(37,99,235,.12);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-tools button,
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-theme-control select{
  border:1px solid rgba(148,163,184,.28);
  background:#fff;
  color:#1e3a8a;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-tools button:hover,
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-theme-control select:hover{
  background:var(--role-soft,#eff6ff);
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-question-card,
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-node-card,
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-guide{
  border:1px solid rgba(148,163,184,.24);
  box-shadow:var(--kr-shadow);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"] .kr-hint-pill{
  background:rgba(255,255,255,.88);
  color:#475569;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 12px 32px rgba(15,23,42,.10);
}
:is(.kr-app,.kr-viewport)[data-theme="platform"]{
  background-color:#f8fbff;
}

/* 深度回忆页账号状态：补齐与其他管理页面一致的胶囊边框样式。 */
.kr-topbar .auth-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  color:#64748b;
  background:rgba(248,250,252,.92);
  box-shadow:0 8px 20px rgba(15,23,42,.06),inset 0 0 0 1px rgba(255,255,255,.72);
  white-space:nowrap;
}
.kr-topbar .auth-status .role-dot{
  width:9px;
  height:9px;
  border-radius:99px;
  background:var(--role-primary,#64748b);
  box-shadow:0 0 0 3px var(--role-soft,#f1f5f9);
}
.kr-topbar .auth-status .role-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 7px;
  background:#fff;
  color:var(--role-primary,#2563eb);
  box-shadow:0 0 0 1px rgba(255,255,255,.72);
  font-size:11px;
}
.kr-topbar .auth-status.logged-in{
  color:var(--role-text,#1e3a8a);
  background:linear-gradient(135deg,var(--role-soft,#dbeafe),#fff);
  border-color:color-mix(in srgb,var(--role-primary,#2563eb) 24%,rgba(148,163,184,.28));
  box-shadow:0 8px 22px rgba(37,99,235,.10),inset 0 0 0 1px rgba(255,255,255,.75);
}
.kr-topbar .auth-status:hover,
.kr-topbar .auth-status:focus-visible{
  border-color:color-mix(in srgb,var(--role-primary,#2563eb) 42%,rgba(148,163,184,.34));
  box-shadow:0 10px 24px rgba(37,99,235,.14),0 0 0 3px color-mix(in srgb,var(--role-primary,#2563eb) 12%,transparent);
}
@media(max-width:720px){
  .kr-topbar .auth-status{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* Step 8A：深度回忆订阅上限提示兜底 */
.kr-limit-toast{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translateX(-50%) translateY(10px);
  z-index:2147483600;
  max-width:min(520px,calc(100vw - 32px));
  padding:12px 16px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  background:rgba(15,23,42,.92);
  color:#fff;
  box-shadow:0 22px 60px rgba(15,23,42,.28);
  font-size:14px;
  font-weight:900;
  line-height:1.5;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.kr-limit-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}


/* C-1.3：访客可浏览深度回忆，但知识展开与进度修改保持只读。 */
body.kr-readonly .kr-keyword,
body.kr-readonly .kr-node button,
body.kr-readonly #krResetBtn{
  cursor:not-allowed;
}
body.kr-readonly .kr-keyword:hover{
  filter:none;
  transform:none;
}
body.kr-readonly .kr-readonly-control{
  opacity:.58;
}

/* v8.6.0.4: display-only bilingual controls for deep recall. */
.kr-language-control{display:flex;align-items:center;gap:6px;white-space:nowrap}
.kr-language-control>small{font-size:10px;font-weight:800;opacity:.72}
.kr-language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(100,116,139,.22);border-radius:10px;background:rgba(248,250,252,.72)}
.kr-language-switch button{height:28px;min-width:0;padding:0 8px;border:0;border-radius:7px;background:transparent;color:inherit;font-size:10px;font-weight:900;box-shadow:none}
.kr-language-switch button:hover{background:rgba(255,255,255,.78)}
.kr-language-switch button.is-active{background:#fff;color:#334155;box-shadow:0 1px 5px rgba(15,23,42,.12)}
.kr-language-switch button:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.kr-bilingual-en{display:block;margin-top:5px;color:var(--kr-muted,#64748b);font-size:.86em;line-height:1.45;font-weight:560}
.kr-node-label .kr-bilingual-en{margin-top:2px;font-size:.78em}
.kr-guide .kr-bilingual-en{margin-top:4px}
.kr-choice-list button .kr-bilingual-en{margin-top:3px;text-align:left}
html[data-question-language-mode="zh"] .kr-bilingual-en{display:none!important}
@media(max-width:980px){.kr-language-control>small{display:none}.kr-language-switch button{padding:0 6px}}

/* v8.6.2 自由练习题集入口与个人探索反馈 */
.kr-back{display:grid;place-items:center;text-decoration:none}
.kr-practice-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;font-size:12px;font-weight:850;white-space:nowrap}
.kr-session-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:420px}
.kr-session-stats span{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--kr-border);background:var(--kr-control-bg);border-radius:999px;padding:5px 8px;color:var(--kr-muted);font-size:11px;white-space:nowrap}
.kr-session-stats strong{color:var(--kr-primary-dark);font-size:12px}
.kr-drawer-backdrop{position:fixed;inset:0;z-index:89;background:rgba(15,23,42,.28);opacity:0;transition:opacity .18s ease}.kr-drawer-backdrop.show{opacity:1}
.kr-question-drawer{position:fixed;z-index:90;left:0;top:0;bottom:0;width:min(420px,92vw);display:flex;flex-direction:column;background:#fff;color:#0f172a;border-right:1px solid #e2e8f0;box-shadow:18px 0 46px rgba(15,23,42,.18);transform:translateX(-104%);transition:transform .22s ease}
.kr-question-drawer.open{transform:translateX(0)}
.kr-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid #e2e8f0}.kr-drawer-head h2{margin:0;color:#1e3a8a;font-size:20px}.kr-drawer-head p{margin:5px 0 0;color:#64748b;font-size:13px}.kr-drawer-head button{width:36px;height:36px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-size:22px;cursor:pointer}
.kr-drawer-search{display:grid;gap:6px;padding:14px 18px;border-bottom:1px solid #e2e8f0;color:#475569;font-size:12px;font-weight:750}.kr-drawer-search input{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit;color:#0f172a;outline:none}.kr-drawer-search input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
.kr-question-list{flex:1;overflow:auto;padding:14px;display:grid;align-content:start;gap:14px}.kr-bank-group{display:grid;gap:7px}.kr-bank-group header{display:flex;justify-content:space-between;gap:10px;padding:0 4px;color:#475569;font-size:12px}.kr-bank-group header strong{color:#1e3a8a;font-size:13px}.kr-question-item{display:grid;gap:4px;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:13px;padding:11px 12px;color:#0f172a;cursor:pointer}.kr-question-item:hover{border-color:#93c5fd;background:#eff6ff}.kr-question-item.active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 2px rgba(99,102,241,.12)}.kr-question-item strong{font-size:13px}.kr-question-item span{font-size:11px;color:#64748b}.kr-question-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:20px;color:#64748b;line-height:1.6;text-align:center}
@media (max-width:1180px){.kr-session-stats{order:3;width:100%;max-width:none}.kr-topbar{height:auto}.kr-tools{flex-wrap:wrap}}
@media (max-width:760px){.kr-session-stats{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:thin}}
@media (prefers-reduced-motion:reduce){.kr-question-drawer,.kr-drawer-backdrop{transition:none}}

/* P2.2 question-library controls */
.kr-drawer-tools{display:grid;gap:8px;padding:11px 12px;border-bottom:1px solid rgba(100,116,139,.16)}.kr-bank-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:40px;padding:0 10px;border:1px solid rgba(100,116,139,.2);border-radius:11px;background:#fff}.kr-bank-picker>span{color:#64748b;font-size:11px;font-weight:900}.kr-bank-picker select{width:100%;min-width:0;height:34px;border:0;outline:0;background:transparent;color:#334155;font-size:12px;font-weight:850}.kr-drawer-search{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 10px;border:1px solid rgba(100,116,139,.2);border-radius:11px;background:#fff}.kr-drawer-search>span{color:#94a3b8;font-size:18px}.kr-drawer-search input{width:100%;height:36px;border:0;outline:0;background:transparent;color:#334155;font-size:12px}.kr-question-filters{display:flex;gap:6px}.kr-question-filters button{height:30px;padding:0 10px;border:1px solid #dfe4ed;border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:850;box-shadow:none}.kr-question-filters button.active{border-color:rgba(109,93,252,.26);background:#f3f1ff;color:#5145cd}.kr-question-list{overflow:auto}.kr-question-item{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;margin:0 0 7px;padding:11px;border:1px solid transparent!important;border-radius:13px!important;background:#fff!important;color:#334155!important;text-align:left!important;box-shadow:none!important}.kr-question-item:hover{border-color:#ddd8ff!important;background:#fbfaff!important;transform:none!important}.kr-question-item.active{border-color:#b9afff!important;background:#f5f3ff!important}.kr-question-index{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:900}.kr-question-copy{min-width:0;display:grid;gap:3px}.kr-question-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px}.kr-question-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c8799;font-size:10px}.kr-question-item em{padding:4px 7px;border-radius:999px;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}.kr-question-item em.unexplored{background:#f1f5f9;color:#64748b}.kr-question-item em.explored{background:#ecfdf5;color:#15803d}

/* Historical selector retained for compatibility checks; theme variables are shared through :is(.kr-app,.kr-viewport). */
.kr-viewport[data-theme="neon"]{}
