/* Persistent part knowledge: scan the list, edit one clear memo. */
.part-notes-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.part-notes-toolbar>div:first-child { display:flex; align-items:center; gap:8px; color:#635776; font-size:13px; }
.part-notes-dot { width:8px; height:8px; border-radius:50%; background:#9672cf; }
.part-notes-toolbar button { min-height:35px; padding:7px 12px; font-size:12px; }
#partNotesMessage { margin:0 0 14px; padding:10px 13px; border:1px solid #e4ddf5; border-radius:8px; background:#f7f4ff; color:#67528b; font-size:12px; }
#partNotesMessage:empty { display:none; }
#partNotesMessage.is-error { color:#944151; border-color:#eed7dd; background:#fff4f6; }
.part-notes-layout { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(360px,1.15fr); gap:20px; align-items:start; }
.part-notes-list-panel { padding:20px 14px 12px; min-width:0; }
.part-notes-list-panel .section-heading { padding:0 6px; margin-bottom:12px; }
.part-notes-list-panel .section-heading h2 { margin:0; font-size:15px; }
#partNotesSearch { margin:0 0 12px; min-height:38px; font-size:12px; }
.part-notes-list { max-height:660px; overflow:auto; padding:0 1px; }
.part-note-choice { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:5px; padding:13px 12px; margin-bottom:5px; min-height:90px; border:1px solid transparent; border-bottom-color:#ecedf3; border-radius:8px; background:#fff; text-align:left; font-weight:400; }
.part-note-choice>strong { color:#3d4860; font-family:ui-monospace,SFMono-Regular,Consolas,'Malgun Gothic',monospace; font-size:14px; font-weight:650; overflow-wrap:anywhere; }
.part-note-choice>span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#647086; font-size:12px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.part-note-choice>small { color:#8490a2; font-size:10px; overflow-wrap:anywhere; }
.part-note-choice:hover { border-color:#e1dcf2; background:#faf8ff; }
.part-note-choice.is-selected { border-color:#d9ccef; background:#f6f1ff; }
.part-note-choice.is-selected>strong { color:#72519b; }
.part-notes-empty { padding:30px 15px; text-align:center; color:#8490a2; font-size:13px; }
.part-note-editor { padding:24px; min-width:0; border-top:3px solid #aa8bd4; }
.part-note-editor fieldset { margin:0; padding:0; border:0; min-width:0; }
.part-note-editor-head { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; padding-bottom:17px; margin-bottom:19px; border-bottom:1px solid #ece8f2; }
.part-note-editor-head small { color:#89769d; font-size:11px; }
.part-note-editor-head h2 { margin:5px 0 0; font-size:20px; color:#463654; overflow-wrap:anywhere; }
#partNotesSaveState { flex:0 0 auto; margin-top:3px; padding:4px 8px; border-radius:6px; background:#f2f4f7; color:#7d8798; font-size:10px; }
#partNotesSaveState.is-dirty { color:#92672d; background:#fff6e6; }
.part-note-editor label { margin:15px 0; font-size:12px; }
.part-note-editor label small { margin-left:4px; font-size:10px; font-weight:400; }
.part-note-editor input { min-height:40px; padding:9px 11px; font-size:13px; }
#partNotesPart { font-family:ui-monospace,SFMono-Regular,Consolas,'Malgun Gothic',monospace; }
#partNotesText { min-height:230px; font-size:14px; line-height:1.8; }
.part-note-meta { display:flex; flex-direction:column; gap:4px; padding-top:5px; color:#8290a2; font-size:10px; }
.part-note-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:22px; padding-top:17px; border-top:1px solid #ece8f2; }
.part-note-footer .primary { margin-left:auto; min-width:96px; }
.part-note-footer button { min-height:37px; padding:7px 15px; font-size:12px; }
@media(max-width:1100px){.part-notes-layout{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:14px}.part-note-editor{padding:20px}}
@media(max-width:800px){.part-notes-layout{grid-template-columns:1fr}.part-notes-list{max-height:270px}.part-note-editor{padding:20px}.part-notes-toolbar{align-items:flex-start;flex-wrap:wrap}.part-notes-toolbar>.button-group{margin-left:auto}.part-note-choice{min-height:76px}.part-note-choice>span{-webkit-line-clamp:1}#partNotesText{min-height:200px}}
