/* Shared paper, ink and rust design for reading and recall. Source: assets/product-ui.css. */
:root { --ir-paper:#faf9f5; --ir-surface:#fffefa; --ir-sidebar:#efefe7; --ir-ink:#292d28; --ir-muted:#75796e; --ir-line:#dcded4; --ir-accent:#854a31; --ir-tint:#f2e8dc; }
:root[data-theme="dark"] { --ir-paper:#242520; --ir-surface:#292a25; --ir-sidebar:#32342c; --ir-ink:#eeeee3; --ir-muted:#b4b7a8; --ir-line:#474a40; --ir-accent:#e0ae8e; --ir-tint:#413327; }
#interview-reading-layout { --kc-cross-ink:var(--ir-accent); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
#interview-reading-layout .kc-window { display:grid; grid-template-columns:0 minmax(0,1fr); grid-template-rows:52px minmax(0,1fr); min-height:0; border:0; }
#interview-reading-layout .kc-window.kc-nav-open { grid-template-columns:196px minmax(0,1fr); }
#interview-reading-layout .ir-header { grid-column:1/-1; grid-row:1; min-height:52px; padding:0 22px; gap:14px; background:var(--ir-paper); z-index:60; }
#interview-reading-layout .ir-name { display:inline-flex; color:var(--ir-ink); font-size:15px; font-weight:650; gap:10px; }
.kc-brand-icon { width:24px; height:24px; border:0; border-radius:0; display:grid; place-items:center; background:transparent; color:var(--ir-ink); }
.kc-brand-icon svg { width:20px; height:20px; }
.kc-header-context { font-size:13px; color:var(--ir-muted); border-left:1px solid var(--ir-line); padding-left:16px; }
#interview-reading-layout .ir-header-actions { margin-left:auto; }
#interview-reading-layout .ir-theme-toggle { background:transparent; border-color:transparent; box-shadow:none; font-size:14px; min-height:36px; color:var(--ir-muted); }
#kc-nav-toggle { display:grid; place-items:center; width:34px; height:36px; padding:7px; border:0; border-radius:6px; color:var(--ir-muted); background:transparent; }
#kc-nav-toggle svg { width:20px; height:20px; }
#kc-nav-toggle:hover { background:var(--ir-sidebar); color:var(--ir-ink); }
#kc-sidebar { grid-column:1; grid-row:2; display:flex; flex-direction:column; min-width:0; overflow:hidden auto; background:var(--ir-sidebar); border-right:1px solid var(--ir-line); visibility:hidden; padding:22px 10px 16px; }
.kc-nav-open #kc-sidebar { visibility:visible; }
.kc-side-label { color:var(--ir-muted); font-size:12px; font-weight:600; padding:0 12px 14px; letter-spacing:.06em; white-space:nowrap; }
#interview-reading-layout #kc-sidebar .ir-topic-switch { display:flex; flex-direction:column; align-items:stretch; gap:5px; background:transparent; border:0; border-radius:0; overflow:visible; padding:0; flex:none; }
#interview-reading-layout #kc-sidebar .ir-topic-switch a,#interview-reading-layout #kc-sidebar .ir-topic-switch button { display:flex; align-items:center; flex:none; width:100%; padding:11px 12px; min-height:42px; font-size:14px; font-weight:450; text-align:left; border:1px solid transparent; border-radius:7px; color:var(--ir-muted); background:transparent; box-shadow:none; }
#interview-reading-layout #kc-sidebar .ir-topic-switch a::before,#interview-reading-layout #kc-sidebar .ir-topic-switch button::before { content:''; width:6px; height:6px; border:1px solid currentColor; border-radius:2px; margin-right:11px; flex:none; opacity:.6; }
#interview-reading-layout #kc-sidebar .ir-topic-switch .kc-all-link { margin-bottom:12px; color:var(--ir-ink); }
#interview-reading-layout #kc-sidebar .ir-topic-switch a:hover,#interview-reading-layout #kc-sidebar .ir-topic-switch button:hover { background:color-mix(in srgb,var(--ir-line) 55%,transparent); color:var(--ir-ink); }
#interview-reading-layout #kc-sidebar .ir-topic-switch .is-current { background:color-mix(in srgb,var(--ir-accent) 9%,var(--ir-paper)); border-color:color-mix(in srgb,var(--ir-accent) 13%,transparent); color:var(--ir-accent); font-weight:600; }
#interview-reading-layout #kc-sidebar .ir-topic-switch .is-current::before { background:currentColor; opacity:1; }
.kc-side-note { margin:auto 12px 0; padding-top:28px; font-size:12px; white-space:nowrap; color:var(--ir-muted); }
.kc-side-note strong,.kc-side-note span { display:block; }
#interview-reading-layout .kc-side-note strong { font-weight:500; color:var(--ir-muted); margin-bottom:5px; }
#interview-reading-layout .kc-app { grid-column:2; grid-row:2; min-width:0; overflow:hidden; }
#interview-reading-layout .kc-toolbar { padding:12px 24px; min-height:66px; gap:12px; background:var(--ir-paper); }
#interview-reading-layout .kc-heading { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; }
#interview-reading-layout .kc-heading h1 { font-size:20px; line-height:1.4; letter-spacing:-.02em; color:var(--ir-ink); font-weight:650; }
#interview-reading-layout .kc-heading>span { font-size:12px; color:var(--ir-muted); }
#interview-reading-layout .kc-actions { gap:8px; flex-wrap:nowrap; }
#interview-reading-layout .kc-actions button,#interview-reading-layout .kc-more>summary { min-height:36px; padding:7px 11px; border-radius:7px; font-size:14px; line-height:1.4; background:var(--ir-surface); border-color:var(--ir-line); }
#interview-reading-layout #kc-back { border-color:transparent; color:var(--ir-muted); }
#interview-reading-layout #kc-back:disabled { display:none; }
#interview-reading-layout #kc-opened:disabled { display:none; }
#kc-open-count { background:var(--ir-sidebar); color:var(--ir-muted); border-radius:4px; padding:1px 5px; margin-left:5px; font-size:12px; }
#interview-reading-layout .kc-more-menu { min-width:190px; padding:6px; border-radius:10px; box-shadow:0 12px 32px #292d2818; }
#interview-reading-layout .kc-more-menu button { border:0; background:transparent; text-align:left; width:100%; }
#interview-reading-layout .kc-more-menu button:hover { background:var(--ir-sidebar); }
#interview-reading-layout .kc-workspace { background-color:var(--ir-paper); background-image:none; }
#interview-reading-layout .kc-map-help { display:none; }
#interview-reading-layout .kc-node { border-radius:5px; border-width:1.4px; padding:4px; gap:3px; box-shadow:none; background:var(--ir-surface); transition:border-color .15s,box-shadow .15s,opacity .15s; }
#interview-reading-layout .kc-node.kc-branch { border-style:solid; }
#interview-reading-layout .kc-node strong { font-size:24px; font-weight:600; line-height:1.35; color:var(--ir-ink); }
#interview-reading-layout .kc-node span { font-size:18px; color:var(--ir-muted); white-space:nowrap; }
#interview-reading-layout .kc-node.kc-long-caption span { font-size:16px; }
#interview-reading-layout .kc-node small { font-size:16px; line-height:1.2; color:var(--ir-muted); }
#interview-reading-layout .kc-node:hover { border-color:var(--ir-accent); box-shadow:none; background:var(--ir-tint); }
#interview-reading-layout .kc-node.is-selected { outline:none; box-shadow:0 0 0 1px var(--ir-accent); border-color:var(--ir-accent); }
#interview-reading-layout .kc-node.is-open { background:var(--ir-tint); }
#interview-reading-layout .kc-node.kc-node-dimmed { opacity:.52; }
#interview-reading-layout .kc-node.kc-node-dimmed:hover { opacity:1; }
#interview-reading-layout #kc-edges .kc-line-dimmed { opacity:.18; }
#interview-reading-layout #kc-edges .kc-relation path { stroke-width:1.5; }
#interview-reading-layout .kc-relation text { font-size:16px; }
.kc-canvas-tools { position:absolute; left:20px; bottom:20px; display:flex; align-items:center; gap:2px; z-index:11000; background:var(--ir-surface); border:1px solid var(--ir-line); border-radius:5px; padding:4px; box-shadow:0 3px 12px #292d2808; cursor:default; }
#interview-reading-layout .kc-canvas-tools button { min-height:34px; min-width:34px; border:0; border-radius:5px; background:transparent; color:var(--ir-ink); font-size:14px; padding:6px 9px; }
#interview-reading-layout .kc-canvas-tools button:hover { background:var(--ir-sidebar); }
.kc-canvas-tools output { font-size:12px; color:var(--ir-muted); min-width:42px; text-align:center; font-variant-numeric:tabular-nums; }
#interview-reading-layout .kc-canvas-tools #kc-fit { border-left:1px solid var(--ir-line); border-radius:0 5px 5px 0; padding-left:12px; margin-left:4px; }
#interview-reading-layout .kc-map-footer { left:20px; bottom:76px; border:0; background:transparent; padding:0; font-size:12px; max-width:calc(100% - 40px); line-height:1.5; }
#interview-reading-layout .kc-reader { background:var(--ir-paper); border-left:0; }
#interview-reading-layout .kc-reader-head { padding:10px 22px; min-height:46px; background:var(--ir-paper); }
#interview-reading-layout .kc-reader-head strong { font-size:12px; font-weight:500; color:var(--ir-muted); }
#interview-reading-layout .kc-reader-head button { min-height:30px; font-size:14px; border:0; background:transparent; padding:3px 0 3px 10px; }
#kc-splitter { flex-basis:6px; background:var(--ir-paper); border-left:1px solid var(--ir-line); }
#kc-splitter::after { inset:43% 1px; background:var(--ir-line); }
#kc-reader-body { padding:0; gap:0; }
#interview-reading-layout .kc-reader .kc-card { border:0; border-radius:0; background:var(--ir-paper); outline:none; }
#interview-reading-layout .kc-reader.is-compare .kc-card+.kc-card { border-left:1px solid var(--ir-line); }
#interview-reading-layout .kc-card-head h2 { font-family:"Songti SC","Noto Serif SC",SimSun,serif; color:var(--ir-ink); }
#interview-reading-layout .kc-reader .kc-card-head { padding:18px 26px 12px; gap:8px; }
#interview-reading-layout .kc-reader .kc-card-head h2 { font-size:22px; line-height:1.5; font-weight:650; letter-spacing:-.015em; }
#interview-reading-layout .kc-reader .kc-card-kicker { display:block; font-size:12px; margin-bottom:5px; color:var(--ir-muted); }
#interview-reading-layout .kc-card-close { width:30px; height:30px; font-size:22px; border-radius:6px; }
#interview-reading-layout .kc-card-close:hover { background:var(--ir-sidebar); }
#interview-reading-layout .kc-reader .kc-card-tools { padding:0 26px 16px; gap:6px; }
#interview-reading-layout .kc-reader .kc-card-tools button,#interview-reading-layout .kc-reader .kc-card-tools summary { font-size:14px; min-height:34px; padding:6px 9px; background:var(--ir-paper); }
#interview-reading-layout .kc-reader .kc-card-tools [data-mask] { background:color-mix(in srgb,var(--ir-accent) 6%,var(--ir-paper)); border-color:color-mix(in srgb,var(--ir-accent) 15%,var(--ir-line)); color:var(--ir-accent); }
#interview-reading-layout .kc-reader .kc-card-scroll { padding:24px 26px 48px; scrollbar-color:var(--ir-line) transparent; }
#interview-reading-layout .kc-card-content { max-width:680px; margin:0 auto; }
#interview-reading-layout .kc-card-scroll p,#interview-reading-layout .kc-card-scroll li { font-size:16px; line-height:1.9; color:var(--ir-ink); }
#interview-reading-layout .kc-card-scroll h3 { font-size:16px; line-height:1.7; font-weight:600; color:var(--ir-ink); margin-bottom:10px; }
#interview-reading-layout .kc-card-scroll .kc-core { padding:16px 18px 4px; border:1px solid color-mix(in srgb,var(--ir-accent) 14%,var(--ir-line)); border-radius:4px; background:var(--ir-tint); }
#interview-reading-layout .kc-core h3 { color:var(--ir-accent); font-size:15px; }
#interview-reading-layout .kc-core-lead { font-weight:450; }
#interview-reading-layout .kc-explain-section { margin:28px 0!important; }
#interview-reading-layout .kc-definition { border-bottom:1px solid var(--ir-line); padding-bottom:20px; }
#interview-reading-layout .kc-key-boundary { border-top:1px solid var(--ir-line); padding:20px 0 4px; }
#interview-reading-layout .kc-card-scroll details { border:1px solid var(--ir-line); border-radius:8px; margin-top:12px; padding:0 14px; background:var(--ir-paper); }
#interview-reading-layout .kc-card-scroll details>summary { display:list-item; min-height:44px; font-size:14px; color:var(--ir-muted); padding:10px 0; line-height:1.7; }
#interview-reading-layout .kc-card-scroll details[open] { padding-bottom:14px; }
#interview-reading-layout .kc-card-scroll details[open]>summary { color:var(--ir-ink); border-bottom:1px solid var(--ir-line); margin-bottom:16px; }
#interview-reading-layout .kc-card-scroll details.kc-crosslinks { margin-bottom:20px; padding:0 14px; }
#interview-reading-layout .kc-save-state { font-size:12px; padding:5px 20px; border-top:1px solid var(--ir-line); }
#kc-recent { padding:10px 24px; gap:8px; font-size:13px; }
#kc-recent button { font-size:14px; padding:6px 10px; border-radius:6px; }
#interview-reading-layout .kc-topic-picker { border-color:var(--ir-line); padding:16px; border-radius:12px; box-shadow:0 12px 40px #292d2818; }
#interview-reading-layout .kc-picker-list button { background:var(--ir-paper); }
#kc-nav-backdrop { display:none; }
@media(max-width:1100px) { #interview-reading-layout .kc-window.kc-nav-open { grid-template-columns:180px minmax(0,1fr); } #interview-reading-layout .kc-toolbar { padding:16px 20px; } }
@media(max-width:900px) {
 #interview-reading-layout .kc-window,#interview-reading-layout .kc-window.kc-nav-open { grid-template-columns:0 minmax(0,1fr); grid-template-rows:48px minmax(0,1fr); }
 #interview-reading-layout .ir-header { min-height:48px; padding:0 14px; gap:9px; }
 #interview-reading-layout #kc-sidebar { position:fixed; top:48px; left:0; bottom:0; width:220px; z-index:55; }
 #kc-nav-backdrop:not([hidden]) { display:block; position:fixed; top:48px; bottom:0; left:220px; right:0; background:#292d2840; z-index:54; border:0; }
 #interview-reading-layout .kc-reader,#interview-reading-layout .kc-reader.is-compare { height:var(--kc-reader-size,72%); width:100%; min-width:0; }
 #kc-splitter { flex-basis:8px; border-left:0; border-top:1px solid var(--ir-line); }
 #kc-splitter::after { inset:2px 44%; }
 #interview-reading-layout .kc-reader .kc-card-head { padding:14px 20px 10px; }
 #interview-reading-layout .kc-reader .kc-card-head h2 { font-size:20px; }
 #interview-reading-layout .kc-reader .kc-card-tools { padding:0 20px 10px; }
 #interview-reading-layout .kc-reader .kc-card-scroll { padding:20px 20px 36px; }
 #interview-reading-layout .kc-map-footer { display:none; }
 .kc-canvas-tools { bottom:12px; left:12px; }
 #interview-reading-layout .kc-reader.is-compare .kc-card-head h2 { font-size:17px; }
}
@media(max-width:600px) {
 .kc-header-context { display:none; }
 #interview-reading-layout .ir-name { font-size:14px; }
 #interview-reading-layout .ir-theme-toggle { font-size:12px; padding:6px; }
 #interview-reading-layout .kc-toolbar { padding:12px 16px; min-height:70px; flex-wrap:nowrap; }
 #interview-reading-layout .kc-heading h1 { font-size:18px; }
 #interview-reading-layout .kc-heading>span { font-size:12px; }
 #interview-reading-layout .kc-actions { gap:3px; }
 #interview-reading-layout #kc-back { display:none; }
 #interview-reading-layout .kc-actions button,#interview-reading-layout .kc-more>summary { font-size:12px; padding:7px; }
 #interview-reading-layout .kc-reader-head { padding:6px 20px; min-height:36px; }
 #interview-reading-layout .kc-reader.is-compare .kc-card-head,#interview-reading-layout .kc-reader.is-compare .kc-card-tools,#interview-reading-layout .kc-reader.is-compare .kc-card-scroll { padding-left:12px; padding-right:12px; }
 #interview-reading-layout .kc-reader.is-compare .kc-core { padding:10px; }
}
@media(prefers-reduced-motion:reduce) { #interview-reading-layout * { transition:none!important; animation:none!important; } }
@media print { #kc-sidebar,#kc-nav-toggle,.kc-canvas-tools,#kc-nav-backdrop { display:none!important; } #interview-reading-layout .kc-window { display:block; } }

/* Reading and recall share the same compact controls and quiet drawing surface. */
#interview-reading-layout { --kc-cross-ink:var(--ir-accent); background:var(--ir-paper); }
:root[data-theme=dark] #interview-reading-layout { --kc-cross-ink:var(--ir-accent); }
#interview-reading-layout .kc-heading h1 { font-family:"Songti SC","Noto Serif SC",SimSun,serif; font-size:24px; font-weight:600; }
#interview-reading-layout .kc-actions button,#interview-reading-layout .kc-more>summary { border-radius:4px; font-size:12px; min-height:34px; }
#interview-reading-layout .rm-mode-switch { background:var(--ir-sidebar); border:0; border-radius:4px; padding:3px; }
#interview-reading-layout .rm-mode-switch button { border:0; background:transparent; color:var(--ir-muted); font-size:12px; min-height:32px; border-radius:3px; padding:6px 12px; }
#interview-reading-layout .rm-mode-switch button[aria-pressed=true] { background:var(--ir-ink); color:var(--ir-paper); }
#interview-reading-layout #kc-sidebar .ir-topic-switch .is-current { background:var(--ir-paper); color:var(--ir-ink); border-color:var(--ir-line); box-shadow:none; }
#interview-reading-layout #kc-sidebar .ir-topic-switch .is-current::before { background:var(--ir-accent); border-color:var(--ir-accent); }
#interview-reading-layout .kc-node.kc-step { border-color:color-mix(in srgb,var(--ir-ink) 58%,var(--ir-line)); }
#interview-reading-layout .kc-node strong { font-size:23px; font-weight:600; }
#interview-reading-layout .kc-node span { font-size:16px; }
#interview-reading-layout .kc-node small { font-size:14px; }
#interview-reading-layout .kc-node.is-selected { border-color:var(--ir-accent); background:var(--ir-tint); }
#interview-reading-layout #kc-edges .kc-relation text { stroke:var(--ir-paper); stroke-width:6px; fill:var(--ir-muted); }
#interview-reading-layout #kc-edges .kc-relation.is-related text { fill:var(--ir-accent); }
#interview-reading-layout #kc-edges .kc-relation-data path { stroke:var(--ir-accent); opacity:.55; }
#interview-reading-layout #kc-edges .kc-relation-feedback path { stroke:var(--ir-accent); opacity:.5; }
#interview-reading-layout #kc-edges .kc-relation-constraint path { stroke:var(--ir-muted); opacity:.45; }
#interview-reading-layout #kc-edges .kc-relation-association path { stroke:var(--ir-muted); opacity:.25; }
#interview-reading-layout #kc-edges .kc-relation.is-related path { stroke:var(--ir-accent); opacity:1; }
#interview-reading-layout .kc-region { border-radius:12px; }
#interview-reading-layout .kc-overview .kc-region { border-width:3px; }
#interview-reading-layout .kc-region button { border-radius:8px; }
#interview-reading-layout .kc-card { border-radius:5px; box-shadow:0 8px 28px #292d2818; }
#interview-reading-layout .kc-reader .kc-card-head h2 { font-size:26px; line-height:1.55; font-weight:500; }
#interview-reading-layout .kc-reader .kc-card-tools button,#interview-reading-layout .kc-reader .kc-card-tools summary { font-size:12px; border-radius:4px; }
#interview-reading-layout .kc-card-scroll .kc-core { border:0; border-left:2px solid var(--ir-accent); border-radius:0; }
#interview-reading-layout .kc-card-scroll details,#interview-reading-layout .kc-card-scroll .kc-crosslinks { border-radius:4px; }
#interview-reading-layout .kc-card-scroll .kc-crosslinks button,#interview-reading-layout .kc-connections button { border-radius:4px; }
#interview-reading-layout .kc-reader .kc-card-scroll { scrollbar-color:var(--ir-line) transparent; }
#interview-reading-layout #kc-recent { padding:6px 24px; font-size:11px; background:var(--ir-paper); }
#interview-reading-layout #kc-recent button { font-size:12px; padding:4px 9px; min-height:30px; border-radius:4px; }
#interview-reading-layout .kc-topic-picker { border-radius:5px; box-shadow:0 8px 30px #292d2818; }
#interview-reading-layout .kc-picker-list button { border-radius:4px; }
.kc-source-dialog { border-radius:6px; }
.kc-source-dialog h2 { font-family:"Songti SC","Noto Serif SC",SimSun,serif; font-size:25px; font-weight:500; }
.kc-source-dialog button { border-radius:4px; }
@media(max-width:600px) {
 #interview-reading-layout .kc-toolbar { flex-wrap:wrap; padding:10px 14px; gap:8px; min-height:64px; }
 #interview-reading-layout .kc-heading h1 { font-size:20px; }
 #interview-reading-layout .kc-actions { flex-wrap:wrap; margin-left:auto; }
 #interview-reading-layout .kc-heading>span { font-size:11px; }
 #interview-reading-layout .rm-mode-switch button { padding:6px 8px; }
 #interview-reading-layout .kc-reader .kc-card-head h2 { font-size:23px; }
 #interview-reading-layout #kc-recent { padding:5px 14px; }
}

/* Keep navigation hints out of the graph, where they can cover nodes. */
#interview-reading-layout .kc-map-footer { display:none; }
#interview-reading-layout .kc-save-state { display:flex; justify-content:space-between; gap:12px; align-items:center; background:var(--ir-paper); }
#interview-reading-layout .kc-save-state::before { content:"拖动空白处平移 · 双指 / 滚轮缩放"; color:var(--ir-muted); font-size:11px; }
#interview-reading-layout .kc-node.kc-node-dimmed { opacity:.62; }
@media(max-width:600px) { #interview-reading-layout .kc-save-state::before { display:none; } #interview-reading-layout .kc-save-state { justify-content:flex-end; } }

#interview-reading-layout #kc-sidebar .ir-topic-switch { order:0; }
#interview-reading-layout .kc-stage { isolation:isolate; }
