/* ===== CONTEXT EXPLORER ===== */
.band--context{background:var(--bg-panel)}
.band--context .band-inner{padding-top:24px;padding-bottom:24px}
.ctx-controls{
    display:flex;align-items:center;gap:12px;
    margin-bottom:20px;flex-wrap:wrap
}
.ctx-chapter-picker{display:flex;align-items:center;gap:8px}
.ctx-chapter-label{
    font-size:.9rem;color:var(--text-dim);white-space:nowrap
}
.ctx-chapter-input{width:100px;padding:6px 10px}
.ctx-chapter-btn{
    padding:6px 14px;white-space:nowrap;cursor:pointer;
    background:var(--accent);color:var(--bg-deep);
    border:1px solid var(--accent);
    font-family:system-ui,-apple-system,sans-serif;
    font-size:15px;font-weight:500;transition:all .2s
}
.ctx-chapter-btn:hover{background:var(--accent-hover);color:var(--bg-deep)}
.ctx-chapter-reset{
    background:var(--bg-panel);color:var(--text);border-color:var(--border)
}
.ctx-chapter-reset:hover{
    background:var(--bg-inset);color:var(--accent);
    border-color:var(--accent)
}
.ctx-search{
    flex:1;min-width:160px;padding:6px 12px;
    background:var(--bg-surface);color:var(--text);
    border:1px solid var(--border);font-size:.9rem;outline:none
}
.ctx-search:focus{border-color:var(--accent)}
.ctx-tabs{
    display:flex;gap:0;
    border-bottom:2px solid var(--border);margin-bottom:16px
}
.ctx-tab{
    padding:10px 20px;border:none;background:none;cursor:pointer;
    color:var(--text-dim);font-size:.95rem;font-weight:500;
    border-bottom:2px solid transparent;margin-bottom:-2px;
    transition:color .15s,border-color .15s
}
.ctx-tab:hover{color:var(--text)}
.ctx-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.ctx-panel{margin-bottom:16px}
.ctx-card{
    background:var(--bg-surface);border:1px solid var(--border);
    margin-bottom:8px;overflow:hidden
}
.ctx-card-head{
    cursor:pointer;padding:12px 16px;display:flex;align-items:center;
    gap:8px;flex-wrap:wrap;list-style:none;user-select:none
}
.ctx-card-head::-webkit-details-marker{display:none}
.ctx-card-name{font-weight:600;color:var(--text)}
.ctx-card-uk{color:var(--text-dim);font-size:.9rem}
.ctx-card-body{padding:0 16px 14px;font-size:.9rem;line-height:1.6}
.ctx-field{margin-bottom:8px}
.ctx-field-label{color:var(--text-dim);font-weight:500}
.ctx-rel-list{list-style:none;padding-left:12px;margin-top:4px}
.ctx-rel-list li{margin-bottom:4px}
.ctx-rel-note{color:var(--text-dim);font-size:.85rem;display:block}
.ctx-facts-list{list-style:none;padding-left:0;margin-top:6px}
.ctx-facts-list li{
    margin-bottom:6px;font-size:.85rem;line-height:1.5;color:var(--text-dim)
}
.ctx-badge{
    display:inline-block;padding:2px 8px;font-size:.75rem;
    background:var(--bg-inset);color:var(--text-dim);white-space:nowrap;
    border:1px solid var(--border)
}
.ctx-badge-link{
    text-decoration:none;cursor:pointer;
    transition:background .15s,color .15s
}
.ctx-badge-link:hover{background:var(--accent);color:var(--bg-deep)}
.ctx-table{width:100%;border-collapse:collapse}
.ctx-table th{
    text-align:left;padding:10px 12px;color:var(--text-dim);
    font-size:.85rem;border-bottom:1px solid var(--border);font-weight:500
}
.ctx-table td{
    padding:8px 12px;border-bottom:1px solid var(--border);font-size:.9rem
}
.ctx-table tr:hover td{background:var(--bg-panel)}
.ctx-timeline-item{
    padding:12px 16px;background:var(--bg-surface);
    border:1px solid var(--border);margin-bottom:8px
}
.ctx-timeline-head{
    display:flex;align-items:center;gap:8px;
    flex-wrap:wrap;margin-bottom:6px
}
.ctx-timeline-date{color:var(--text-dim);font-size:.85rem}
.ctx-timeline-title{font-weight:600}
.ctx-timeline-summary{
    font-size:.9rem;color:var(--text-dim);line-height:1.5;margin-bottom:6px
}
.ctx-timeline-chars{display:flex;gap:4px;flex-wrap:wrap}
.ctx-hidden{display:none!important}
.ctx-category-filters{
    display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px
}
.ctx-cat-btn{
    padding:4px 12px;border:1px solid var(--border);
    background:none;color:var(--text-dim);cursor:pointer;
    font-size:.8rem;transition:background .15s,color .15s,border-color .15s
}
.ctx-cat-btn:hover{color:var(--text);border-color:var(--accent)}
.ctx-cat-btn.active{
    background:var(--accent);color:var(--bg-deep);border-color:var(--accent)
}
.ctx-cat-hidden{display:none!important}
.ctx-archive-hidden{display:none!important}
.ctx-archive-filters{display:flex;gap:6px;flex-wrap:wrap}
.ctx-archive-btn{
    padding:4px 12px;border:1px solid var(--border);
    background:none;color:var(--text-dim);cursor:pointer;
    font-size:.8rem;transition:background .15s,color .15s,border-color .15s
}
.ctx-archive-btn:hover{color:var(--text);border-color:var(--accent)}
.ctx-archive-btn.active{
    background:var(--accent);color:var(--bg-deep);border-color:var(--accent)
}

/* Context edit mode */
.ctx-edit-btn{
    padding:6px 14px;white-space:nowrap;background:none;
    border:1px solid var(--border);color:var(--text);cursor:pointer;
    font-family:system-ui,-apple-system,sans-serif;
    font-size:15px;font-weight:500;transition:all .2s
}
.ctx-edit-btn:hover{
    background:var(--bg-inset);color:var(--accent);
    border-color:var(--accent)
}
.ctx-edit-btn.active{
    background:var(--accent);color:var(--bg-deep);border-color:var(--accent)
}
.ctx-add-btn{
    display:block;width:100%;padding:10px;margin-bottom:12px;
    border:1px dashed var(--border);background:none;
    color:var(--text-dim);cursor:pointer;
    font-size:.9rem;text-align:center
}
.ctx-add-btn:hover{border-color:var(--accent);color:var(--accent)}
.ctx-edit-only{display:none!important}
.ctx-editing .ctx-edit-only{display:revert!important}
.ctx-editing .ctx-edit-only.ctx-card-actions{display:inline-flex!important}
.ctx-editing .ctx-edit-only.ctx-add-btn{display:block!important}
.ctx-editing th.ctx-edit-only,
.ctx-editing td.ctx-edit-only{display:table-cell!important}
.ctx-editing button.ctx-edit-only{display:inline-block!important}
.ctx-card-actions{display:inline-flex;gap:4px;margin-left:auto}
.ctx-card-edit-btn,.ctx-card-del-btn{
    background:none;border:1px solid var(--border);color:var(--text-dim);
    cursor:pointer;padding:2px 8px;font-size:.85rem
}
.ctx-card-edit-btn:hover{color:var(--accent);border-color:var(--accent)}
.ctx-card-del-btn:hover{color:#e57373;border-color:#e57373}

/* Context edit modal */
.ctx-modal-overlay{
    display:none;position:fixed;inset:0;z-index:400;
    background:rgba(0,0,0,.6);backdrop-filter:blur(2px);
    align-items:flex-start;justify-content:center;padding-top:5vh;
    overflow-y:auto
}
.ctx-modal-overlay.open{display:flex}
.ctx-modal{
    width:90%;max-width:600px;margin-bottom:5vh;
    background:var(--bg-page);border:1px solid var(--border);
    overflow:hidden;position:relative
}
.ctx-modal-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px;border-bottom:1px solid var(--border);
    font-family:'Cormorant Garamond',Georgia,serif;font-weight:600
}
.ctx-modal-close{
    background:none;border:none;color:var(--text-dim);cursor:pointer;
    font-size:1.4rem;line-height:1
}
.ctx-modal-close:hover{color:var(--text)}
.ctx-modal-body{padding:16px}
.ctx-modal-body label{
    display:block;color:var(--text-dim);font-size:.85rem;
    margin-bottom:4px;margin-top:12px
}
.ctx-modal-body label:first-child{margin-top:0}
.ctx-modal-body input,.ctx-modal-body textarea,.ctx-modal-body select{
    display:block;width:100%
}
.ctx-modal-body textarea{min-height:60px;resize:vertical}
.ctx-modal-footer{
    display:flex;gap:8px;justify-content:flex-end;
    padding:16px;border-top:1px solid var(--border)
}
.ctx-modal-save{
    padding:8px 20px;cursor:pointer;
    background:var(--accent);color:var(--bg-deep);
    border:1px solid var(--accent);
    font-family:system-ui,-apple-system,sans-serif;
    font-size:15px;font-weight:500;transition:all .2s
}
.ctx-modal-save:hover{background:var(--accent-hover)}
.ctx-modal-cancel{
    padding:8px 20px;background:none;cursor:pointer;
    border:1px solid var(--border);color:var(--text);
    font-family:system-ui,-apple-system,sans-serif;
    font-size:15px;font-weight:500;transition:all .2s
}
.ctx-modal-cancel:hover{background:var(--bg-inset)}
.ctx-table .term-input{width:100%;padding:4px 6px}
.ctx-terms-actions{display:flex;gap:8px;margin-bottom:12px}
.ctx-terms-actions button{
    padding:6px 14px;font-size:.85rem;font-weight:500;cursor:pointer
}

/* ===== RESPONSIVE ===== */
@media(max-width:600px){
    .ctx-modal-overlay{backdrop-filter:none}
    .ctx-controls{flex-direction:column;align-items:stretch}
    .ctx-search{min-width:auto}
    .ctx-tab{padding:8px 12px;font-size:.85rem}
}

.ctx-card-flash{
    animation:ctx-card-flash 1.4s ease-out
}
@keyframes ctx-card-flash{
    0%{box-shadow:0 0 0 3px var(--accent)}
    100%{box-shadow:0 0 0 0 transparent}
}
