/* notes-feature.css — D 类笔记 #10-#13（笔记 iframe 内） */

.nf-hl { border-radius: 3px; padding: 0 1px; }
.nf-c-yellow { background: rgba(255, 213, 79, .45); }
.nf-c-green  { background: rgba(102, 187, 106, .40); }
.nf-c-blue   { background: rgba(66, 165, 245, .35); }
.nf-c-pink   { background: rgba(240, 98, 146, .35); }
.nf-c-orange { background: rgba(255, 167, 38, .40); }

/* 画笔下划线（kind:pen） */
.nf-penline {
  background: transparent; color: inherit; border: none; padding: 0;
  box-shadow: inset 0 -2px 0 #3B57D9; border-bottom: 2px solid #3B57D9;
}
/* 白话层（.nf-bai = 注入的术语白话注解） */
.nf-bai { border-bottom: 1px dashed rgba(79,107,237,.6); color: #3B57D9; cursor: help; font-weight: 600; }

/* 画笔模式：自定义笔形光标（data-URI SVG），crosshair 兜底 */
.nf-pen-on, .nf-pen-on * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24'><path d='M3 21l3.5-.7L20 6.8 17.2 4 3.7 17.5z' fill='%233B57D9' stroke='white' stroke-width='1'/></svg>") 4 24, crosshair !important;
}

/* 工具条 */
.nf-bar { position: fixed; right: 16px; bottom: 16px; z-index: 9998; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 360px; padding: 8px; background: rgba(20,28,48,.92); color:#fff; border-radius:12px; box-shadow:0 6px 24px rgba(0,0,0,.25); backdrop-filter: blur(6px); }
.nf-bar button { background: rgba(255,255,255,.12); color:#fff; border:none; padding:6px 10px; border-radius:8px; font-size:12.5px; cursor:pointer; font-family:inherit; white-space:nowrap; transition: background .15s; }
.nf-bar button:hover { background: rgba(255,255,255,.22); }
.nf-bar button.nf-on { background:#2f66f0; }
.nf-bar button.nf-ver.nf-on { background:#4F6BED; }

/* 选中小泡泡 */
.nf-pop { position:absolute; z-index:9999; display:none; align-items:center; gap:6px; background:#1b2435; color:#fff; padding:6px 10px; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,.3); font-size:12px; }
.nf-pop-t { opacity:.7; }
.nf-dot { width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,.6); cursor:pointer; }
.nf-pop-note { background:rgba(255,255,255,.15); color:#fff; border:none; border-radius:6px; padding:4px 8px; cursor:pointer; font-size:12px; }

/* 自定义弹层（替代 prompt） */
.nf-popup { position: absolute; z-index: 10002; width: 280px; background:#fff; border:1px solid #e4e9f2; border-radius:12px; box-shadow:0 12px 36px rgba(15,24,40,.18); padding:12px; font-family:inherit; }
.nf-popup-t { font-size:13px; font-weight:700; color:#1b2435; margin-bottom:8px; }
.nf-popup-input { width:100%; box-sizing:border-box; border:1px solid #e4e9f2; border-radius:8px; padding:8px; font-size:13px; font-family:inherit; resize:vertical; }
.nf-popup-btns { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.nf-popup-btns button { border:none; border-radius:8px; padding:6px 14px; font-size:13px; cursor:pointer; }
.nf-ghost { background:#f1f4fa; color:#46506b; }
.nf-primary { background:#2f66f0; color:#fff; }

/* toast */
.nf-toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%) translateY(10px); background: rgba(20,28,48,.92); color:#fff; padding:8px 16px; border-radius:999px; font-size:13px; z-index:10003; opacity:0; transition: all .25s; pointer-events:none; }
.nf-toast.nf-show { opacity:1; transform: translateX(-50%) translateY(0); }

/* 遮罩 + 面板 */
.nf-mask { position: fixed; inset:0; background: rgba(0,0,0,.35); z-index:10000; display:none; }
.nf-panel { position: fixed; right:0; top:0; bottom:0; width:420px; max-width:92vw; background:#fff; z-index:10001; display:none; flex-direction:column; box-shadow:-6px 0 24px rgba(0,0,0,.2); font-family:inherit; }
.nf-panel-h { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #e4e9f2; font-weight:700; color:#1b2435; }
.nf-panel-h button { background:none; border:none; font-size:22px; cursor:pointer; color:#78839b; }
.nf-panel-body { flex:1; overflow:auto; padding:14px 18px; }
.nf-loading { color:#78839b; font-size:14px; padding:20px 0; text-align:center; }
.nf-progress { height:6px; background:#eef1f7; border-radius:999px; margin-top:10px; overflow:hidden; }
.nf-progress i { display:block; height:100%; background:#3B57D9; border-radius:999px; transition:width .3s; }
.nf-empty { color:#78839b; font-size:14px; padding:20px 0; text-align:center; }
.nf-list { list-style:none; margin:0; padding:0; }
.nf-li { display:flex; gap:10px; padding:10px 0; border-bottom:1px dashed #eef1f7; }
.nf-tag { flex:0 0 auto; height:fit-content; padding:2px 8px; border-radius:999px; font-size:11px; color:#1b2435; background:#eef3ff; }
.nf-li-text { font-size:14px; line-height:1.7; color:#1b2435; }
.nf-li-note { margin-top:4px; font-size:13px; color:#46506b; background:#f4f6fb; padding:6px 8px; border-radius:6px; }
.nf-day { margin-bottom:14px; }
.nf-day-h { font-weight:700; color:#2f66f0; font-size:13.5px; margin:8px 0; }
.nf-engine { font-weight:400; font-size:11px; color:#78839b; }
.nf-kw { display:flex; flex-wrap:wrap; gap:6px; }
.nf-kw-item { background:#eef3ff; color:#1d49c4; padding:4px 10px; border-radius:999px; font-size:13px; cursor:pointer; }
.nf-kw-item:hover { background:#dde7ff; }
.nf-engine-note { margin-top:12px; font-size:12px; color:#78839b; }
.nf-bm-act { margin-top:6px; display:flex; gap:8px; }
.nf-bm-act button { background:#eef3ff; color:#1d49c4; border:none; border-radius:6px; padding:3px 10px; font-size:12px; cursor:pointer; }
.nf-bm-act .nf-del-bm { background:#fdecea; color:#c0392b; }
.nf-xpfly { position:fixed; left:50%; bottom:120px; transform:translateX(-50%); background:linear-gradient(135deg,#1d49c4,#3f6ef0); color:#fff; padding:8px 18px; border-radius:999px; font-size:14px; font-weight:700; box-shadow:0 6px 20px rgba(29,73,196,.35); opacity:0; z-index:99999; pointer-events:none; transition:all .5s ease; }
.nf-xpfly.nf-go { opacity:1; transform:translateX(-50%) translateY(-46px); }
