.trait-panel { color: #dfebeb; font-size: .78rem; }
.trait-panel-heading, .trait-pagination { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.trait-hint, .trait-history-record small { color: #a8c7c8; font-size: .68rem; }
.trait-history { max-height: 38vh; overflow: auto; }
.trait-history-record { padding: .7rem 0; border-bottom: 1px solid #315660; }
.trait-history-record strong { color: #f4d18f; }
.trait-history-record ul { margin: .4rem 0; padding-left: 1.2rem; }
.trait-history-record p { overflow-wrap: anywhere; }
.trait-pagination { margin-top: .75rem; }
.trait-panel button { padding: .35rem .55rem; border: 1px solid #577e82; border-radius: 6px; background: #163e45; color: #edf6f4; cursor: pointer; }
.trait-panel button:disabled { opacity: .45; cursor: default; }
.fish-activity-tabs { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.trait-editor { width: min(760px, 94vw); max-height: 90dvh; overflow: auto; padding: 1.5rem; border: 1px solid #49777b; border-radius: 16px; background: #10353e; color: #eef6f3; box-shadow: 0 24px 80px #0008; }
.trait-editor::backdrop { background: #00191bcc; }
.trait-editor header, .trait-editor footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.trait-editor h2 { color: #f4d18f; margin: 0; font-size: 1.2rem; }
.trait-editor p, .trait-editor small { color: #b7d0d0; }
.trait-editor label { display: grid; gap: .3rem; margin: .65rem 0; font-size: .85rem; }
.trait-editor legend label { display: flex; align-items: center; gap: .5rem; }
.trait-editor input:not([type=checkbox]), .trait-editor select, .trait-editor textarea { width: 100%; box-sizing: border-box; color: #f4f9f7; background: #092930; border: 1px solid #567d80; border-radius: 6px; padding: .55rem; font: inherit; }
.trait-editor input:disabled, .trait-editor select:disabled { opacity: .4; }
.trait-editor input[type=checkbox] { width: 17px; height: 17px; accent-color: #d6b978; }
.trait-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.trait-editor fieldset { min-width: 0; border: 1px solid #40666b; border-radius: 8px; }
.trait-range { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.trait-editor button { cursor: pointer; border-radius: 8px; padding: .6rem 1rem; border: 1px solid #74938e; background: #19494c; color: #fff; }
.trait-editor button[type=submit] { background: #d9bd80; color: #123638; font-weight: 700; }
.trait-editor [role=alert] { color: #ffd1c7; }
@media (max-width: 600px) { .trait-editor-grid { grid-template-columns: 1fr; } }
.fish-activity-tabs:has([data-fish-activity-tab="traits"]) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
