/* CSS Cog: tracker.css */
/* Updated: 23:30 UTC, 2026-04-15, Claude Opus 4.6 */
/* Chat: Abyssal Engine Web App Development */
/* Fix: tracker-entry-name and bestiary-name now wrap instead of truncating */
/* Bestiary Panel */
.tracker-bestiary{background:var(--bg-darkest);border:1px solid var(--border-thin);border-radius:var(--radius-sm);padding:0.75em;overflow-y:auto;max-height:75vh;}
.tracker-bestiary h3{font-size:0.95em;margin-bottom:0.5em;font-family:var(--font-display);}
.tracker-search{margin-bottom:0.5em;font-size:0.8em;}
.bestiary-list{display:flex;flex-direction:column;gap:0.3em;max-height:55vh;overflow-y:auto;}
.bestiary-entry{display:flex;align-items:center;justify-content:space-between;padding:0.4em 0.6em;border-radius:var(--radius-sm);border:1px solid var(--border-thin);cursor:pointer;transition:all 0.15s;gap:0.4em;}
.bestiary-entry:hover{border-color:var(--accent-blue);background:rgba(88,101,242,0.06);}
.bestiary-selected{border-color:var(--accent-blue)!important;background:rgba(88,101,242,0.1)!important;}
.bestiary-entry-info{display:flex;align-items:center;gap:0.4em;min-width:0;flex:1;}
.bestiary-type-icon{font-size:0.75em;width:1.4em;text-align:center;flex-shrink:0;}
.bestiary-name{font-size:0.8em;font-weight:700;word-break:break-word;}
.bestiary-meta{font-size:0.65em;color:var(--text-faint);white-space:nowrap;flex-shrink:0;}
.btn-bestiary-sheet{background:none;border:1px solid var(--border-thin);color:var(--text-muted);font-size:0.7em;padding:0.25em 0.4em;border-radius:3px;cursor:pointer;flex-shrink:0;transition:all 0.15s;}
.btn-bestiary-sheet:hover{color:var(--accent-blue);border-color:var(--accent-blue);}
.bestiary-actions{margin-top:0.5em;text-align:center;}

/* Tracker Main */
.tracker-main{background:var(--bg-card);border:1px solid var(--border-thin);border-radius:var(--radius-sm);padding:0.75em;display:flex;flex-direction:column;}
.tracker-controls-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75em;flex-wrap:wrap;gap:0.5em;}
.tracker-controls-top h3{font-size:0.95em;margin:0;font-family:var(--font-display);}
.tracker-btns{display:flex;gap:0.3em;flex-wrap:wrap;}
.tracker-round{font-size:0.7em;color:var(--accent-amber);margin-left:0.5em;font-family:var(--font-code);}
.tracker-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-faint);padding:3em;text-align:center;}
.tracker-list{flex:1;display:flex;flex-direction:column;gap:0.25em;overflow-y:auto;max-height:60vh;}
.tracker-entry{display:flex;align-items:center;gap:0.5em;padding:0.5em 0.6em;border-radius:var(--radius-sm);border:1px solid var(--border-thin);cursor:pointer;transition:all 0.15s;position:relative;}
.tracker-entry:hover{border-color:var(--text-faint);}
.tracker-current{border-color:var(--accent-green)!important;background:rgba(87,242,135,0.08)!important;box-shadow:0 0 8px rgba(87,242,135,0.15);}
.tracker-clicked{border-color:var(--accent-blue)!important;background:rgba(88,101,242,0.06)!important;}
.tracker-grip{color:var(--text-faint);cursor:grab;font-size:0.8em;padding:0 0.2em;}
.tracker-entry.dragging{opacity:0.4;}
.tracker-entry.drag-over{border-color:var(--accent-amber)!important;background:rgba(240,178,50,0.08)!important;}
.tracker-init-badge{background:var(--bg-darkest);border:1px solid var(--border-thin);border-radius:3px;font-family:var(--font-code);font-size:0.85em;font-weight:700;min-width:2em;text-align:center;padding:0.15em 0.3em;flex-shrink:0;}
.tracker-entry-info{flex:1;min-width:120px;}
.tracker-entry-name{font-weight:700;font-size:0.85em;word-break:break-word;}
.tracker-entry-meta{font-size:0.65em;color:var(--text-faint);}
.tracker-hp-bar-wrap{position:relative;width:80px;height:14px;background:var(--bg-darkest);border-radius:3px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-thin);}
.tracker-hp-bar{height:100%;transition:width 0.3s;}
.tracker-hp-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.6em;font-family:var(--font-code);color:var(--text-primary);font-weight:700;}
.tracker-current-arrow{position:absolute;left:-0.6em;color:var(--accent-green);font-size:1.1em;}
.tracker-controls-bottom{display:flex;gap:0.5em;margin-top:0.75em;justify-content:center;}

/* Tracker Sidebar Sections */
.tracker-section{margin:0.3em 0;}
.tracker-section-header{display:flex;align-items:center;padding:0.35em 0.5em;cursor:pointer;font-family:var(--font-display);font-size:0.7em;font-weight:600;color:var(--text-secondary);background:var(--bg-light);border-radius:var(--radius-sm);user-select:none;transition:background 0.15s;}
.tracker-section-header:hover{background:var(--bg-lighter);}
.tracker-section-count{font-family:var(--font-code);font-weight:400;font-size:0.85em;color:var(--text-faint);margin-left:0.3em;}
.tracker-section-chevron{margin-left:auto;font-size:0.65em;color:var(--text-faint);transition:transform 0.2s;}
.tracker-section-body{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.tracker-section.open>.tracker-section-body{max-height:2000px;}
.tracker-section.open>.tracker-section-header .tracker-section-chevron{transform:rotate(180deg);}
.tracker-player-inner{margin-left:0.4em;border-left:1px solid var(--border-thin);padding-left:0.3em;}
.tracker-player-inner .tracker-section-header{font-size:0.65em;padding:0.25em 0.4em;background:var(--bg-medium);}

/* Player Inner Collapsibles */
.player-inner-collapse{margin:0.3em 0;border:1px solid var(--border-thin);border-radius:var(--radius-md);background:var(--bg-dark);}
.player-inner-header{padding:0.5em 0.75em!important;font-size:0.85em!important;background:var(--bg-light)!important;border-radius:var(--radius-md);}
.player-inner-collapse.open .player-inner-header{border-bottom-left-radius:0;border-bottom-right-radius:0;}
.player-card{position:relative;}
.player-owner-badge{position:absolute;top:0.4em;right:0.4em;font-family:var(--font-code);font-size:0.5em;color:var(--accent-blue);background:rgba(88,101,242,0.1);border:1px solid rgba(88,101,242,0.3);border-radius:3px;padding:0.15em 0.4em;}

/* Special Rules (Bestiary collapsibles) */
.special-rule-collapse .sheet-collapse-header{border-left:2px solid var(--accent-crimson);}
.special-rule-icon{color:var(--accent-crimson);margin-right:0.3em;font-size:0.85em;}


.tracker-folder {
    margin: 0.3em 0;
    border: 1px solid var(--border-thin);
    border-radius: var(--radius-sm);
    background: var(--bg-dark);
}
.tracker-folder-header {
    display: flex;
    align-items: center;
    padding: 0.5em 0.6em;
    cursor: default;
    gap: 0.3em;
    border-bottom: 1px solid var(--border-thin);
    transition: background 0.15s;
}
.tracker-folder-header.drag-over {
    background: rgba(240,178,50,0.15);
    border-color: var(--accent-amber);
}
.tracker-folder-toggle {
    cursor: pointer;
    color: var(--text-faint);
    width: 1.2em;
    text-align: center;
}
.tracker-folder-name {
    flex: 1;
    font-family: var(--font-display);
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--text-primary);
}
.tracker-folder-actions {
    display: flex;
    gap: 0.2em;
}
.tracker-folder-body {
    padding: 0.2em;
}
.tracker-folder-collapsed .tracker-folder-body { display: none; }
.tracker-folder-collapsed .tracker-folder-header { border-bottom: none; }
.tracker-unfiled-drop.drag-over {
    background: rgba(87,242,135,0.1);
    border-color: var(--accent-green);
    color: var(--accent-green);
}

.bestiary-entry[draggable="true"] { cursor: grab; }
.bestiary-entry[draggable="true"]:active { cursor: grabbing; opacity: 0.6; }

.bestiary-species-filter, .tracker-species-filter {
  display: flex;
  gap: 0.3em;
  flex-wrap: wrap;
  margin-bottom: 0.5em;
  padding: 0.3em 0;
}
.bestiary-filter-btn.active,
.tracker-species-filter .btn-primary {
  background: var(--accent-red);
  border-color: var(--accent-red);
  color: #fff;
}
.btn-xs {
  font-size: 0.7em;
  padding: 0.2em 0.4em;
}

/* ============================================================
   INIT TRACKER ADDITIONS
   ============================================================ */
.tracker-clone-note {
  background: rgba(88, 101, 242, 0.08);
  border: 1px solid var(--accent-blue);
  border-radius: var(--radius-sm);
  padding: 0.4em 0.6em;
  margin: 0.4em 0;
  font-size: 0.7em;
  color: var(--text-muted);
  line-height: 1.4;
}
.tracker-clone-note i { color: var(--accent-blue); margin-right: 0.3em; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 600px) {
  .npc-role-grid { grid-template-columns: 1fr 1fr; }
  .npc-attack-row { grid-template-columns: 1fr; }
  .npc-traits-grid { grid-template-columns: 1fr; }
  .charlist-selects { flex-direction: column; }
}

/* ============================================================
   GM TRACKER
   ============================================================ */
#tracker-content{display:grid;grid-template-columns:280px 1fr;gap:1em;min-height:70vh;}