.analysis-heading { margin-bottom: 28px; }
.analysis-search { padding: 20px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.analysis-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.analysis-search-row .primary-button { min-width: 170px; }
.analysis-search .field-note { margin-top: 10px; }
.analysis-results { margin-top: 18px; }
.analysis-empty { padding: 62px 24px; border: 1px solid var(--line); background: rgba(10,24,29,.55); color: var(--muted); text-align: center; }
.analysis-empty-icon { display: grid; width: 52px; aspect-ratio: 1; margin: 0 auto 18px; place-items: center; border: 1px solid rgba(128,230,221,.28); color: var(--ice); font-size: 1.4rem; transform: rotate(45deg); }
.analysis-empty-icon + h2 { font-family: Unbounded, sans-serif; color: var(--ink); font-size: 1.1rem; }
.analysis-empty p { max-width: 570px; margin: 0 auto; line-height: 1.65; font-size: .78rem; }
.analysis-loading { display: flex; gap: 12px; align-items: center; padding: 24px; border: 1px solid var(--line); color: var(--muted); }
.analysis-spinner { width: 18px; height: 18px; border: 2px solid rgba(128,230,221,.2); border-top-color: var(--ice); border-radius: 50%; animation: analysis-spin .8s linear infinite; }
@keyframes analysis-spin { to { transform: rotate(360deg); } }
.player-summary { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 18px; align-items: center; padding: 22px; border: 1px solid rgba(128,230,221,.22); background: linear-gradient(135deg, rgba(20,48,53,.9), rgba(9,23,28,.9)); }
.player-summary-avatar { position: relative; display: grid; width: 62px; aspect-ratio: 1; place-items: center; overflow: hidden; border: 1px solid rgba(128,230,221,.45); background: var(--ice-dark); color: var(--ice); font-family: Unbounded, sans-serif; font-size: 1.1rem; }
.player-summary-avatar > img { position: absolute; top: -100%; left: -100%; width: 800%; height: 800%; max-width: none; image-rendering: pixelated; }
.player-summary h2 { margin: 0 0 5px; font-family: Unbounded, sans-serif; font-size: 1.35rem; }
.player-uuid { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; overflow-wrap: anywhere; }
.profile-status { width: fit-content; margin-bottom: 7px; padding: 3px 7px; border: 1px solid rgba(128,230,221,.25); color: var(--ice); font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.profile-status.external { border-color: rgba(239,185,104,.3); color: var(--amber); }
.profile-status.joined { border-color: rgba(119,210,156,.3); color: var(--green); }
.profile-status.staff-builder { border-color: rgba(128,230,221,.34); color: var(--ice); }
.profile-status.staff-mod { border-color: rgba(119,210,156,.38); color: var(--green); }
.profile-status.staff-admin { border-color: rgba(239,185,104,.42); color: var(--amber); }
.profile-status.staff-owner { border-color: rgba(207,158,255,.5); color: #d9b4ff; }
.player-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 8px; }
.player-fact { padding: 12px; border: 1px solid var(--line); background: rgba(0,0,0,.13); }
.player-fact small, .player-fact strong { display: block; }
.player-fact small { margin-bottom: 4px; color: var(--muted); font-size: .59rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.player-fact strong { font-size: .78rem; }
.analysis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.analysis-card { min-width: 0; padding: 18px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.analysis-card.full { grid-column: 1 / -1; }
.analysis-card-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; }
.analysis-card-heading h3 { margin: 0; font-family: Unbounded, sans-serif; font-size: .86rem; }
.source-pill { padding: 4px 7px; border: 1px solid rgba(128,230,221,.22); color: var(--ice); font-size: .55rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.source-pill.offline { border-color: rgba(239,185,104,.25); color: var(--amber); }
.analysis-card-message { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.analysis-records { display: grid; gap: 8px; }
.analysis-record { padding: 12px; border-left: 2px solid var(--ice-dark); background: rgba(255,255,255,.025); }
.analysis-record-title { margin-bottom: 7px; color: var(--ink); font-size: .76rem; font-weight: 800; }
.analysis-record-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 14px; }
.analysis-record-field { min-width: 0; color: var(--muted); font-size: .64rem; overflow-wrap: anywhere; }
.analysis-record-field strong { color: #c6d6d4; font-weight: 700; }
.analysis-error { padding: 18px; border: 1px solid rgba(237,136,130,.3); background: rgba(237,136,130,.05); color: #ffaaa4; font-size: .76rem; }
.analysis-warning { margin-bottom: 12px; padding: 14px 16px; border: 1px solid rgba(239,185,104,.3); background: rgba(239,185,104,.055); color: #e7c995; font-size: .7rem; line-height: 1.55; }
.chart-empty { display: grid; height: 100%; place-items: center; padding: 24px; color: var(--muted); font-size: .7rem; text-align: center; }
.chart-empty.error { color: #ffaaa4; }
.analysis-caution { margin: 12px 0 0; padding: 12px 14px; border-left: 2px solid var(--amber); background: rgba(239,185,104,.055); color: #d5c2a3; font-size: .68rem; line-height: 1.6; }
.overview-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 9px; }
.overview-stats article { padding: 16px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.overview-stats small, .overview-stats strong, .overview-stats span { display: block; }
.overview-stats small { color: var(--muted); font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.overview-stats strong { margin: 7px 0 3px; color: var(--ink); font-family: Unbounded, sans-serif; font-size: clamp(1.15rem,2.5vw,1.8rem); }
.overview-stats span { color: #708788; font-size: .58rem; }
.activity-chart-panel { margin-top: 12px; padding: 20px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.activity-chart-panel h3 { margin: 0; font-family: Unbounded, sans-serif; font-size: 1rem; }
.activity-chart-panel .eyebrow { margin-bottom: 5px; }
.echart { width: 100%; height: 330px; }
.echart.overview-zoom-chart { height: 370px; }
.chart-explanation { margin: 12px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.6; }
.analysis-periods { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
.analysis-periods .filter { border: 1px solid var(--line); background: rgba(14,28,33,.72); color: var(--muted); }
.analysis-periods .filter.active { border-color: rgba(128,230,221,.45); background: rgba(128,230,221,.09); color: var(--ice); }
.directory-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(145px,210px) minmax(180px,280px); gap: 10px; align-items: end; margin-bottom: 12px; }
.directory-controls .analysis-periods { margin: 0; align-self: center; }
.directory-controls label { display: grid; gap: 6px; color: var(--muted); font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.directory-controls select,.directory-controls input { width: 100%; min-height: 39px; }
.punishment-controls { grid-template-columns: minmax(0,1fr) minmax(145px,210px) minmax(145px,210px); }
.notes-directory-controls { grid-template-columns: minmax(0,1fr) minmax(180px,280px); }
.notes-directory-controls .eyebrow { margin: 0 0 4px; }
.note-player-row { grid-template-columns: 48px minmax(170px,1fr) minmax(75px,.35fr) minmax(155px,.7fr) auto; }
.player-directory { display: grid; gap: 7px; }
.player-directory-row { display: grid; grid-template-columns: 48px minmax(155px,1fr) minmax(90px,.55fr) minmax(70px,.35fr) minmax(150px,.75fr) auto; gap: 14px; align-items: center; width: 100%; padding: 12px 14px; border: 1px solid var(--line); background: rgba(14,28,33,.72); color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.player-directory-row:hover,.player-directory-row:focus-visible { border-color: rgba(128,230,221,.42); background: rgba(20,43,48,.85); transform: translateY(-1px); outline: none; }
.player-directory-row > img { width: 48px; height: 48px; border: 1px solid rgba(128,230,221,.25); image-rendering: pixelated; }
.player-directory-row > span { min-width: 0; }
.player-directory-row span > small,.player-directory-row span > strong { display: block; }
.player-directory-row span > small { color: var(--muted); font-size: .56rem; line-height: 1.4; }
.player-directory-row span > strong { margin-top: 3px; font-size: .7rem; overflow-wrap: anywhere; }
.directory-player > strong { margin: 0 !important; font-family: Unbounded,sans-serif; font-size: .75rem !important; }
.directory-player > small { margin-top: 5px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap: anywhere; }
.server-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.analysis-note-form { display: grid; gap: 12px; }
.analysis-note-form textarea { width: 100%; resize: vertical; }
.rank-list { display: grid; gap: 8px; }
.punishment-list { display: grid; gap: 9px; }
.punishment-row { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 14px; padding: 16px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.punishment-head { width: 48px; height: 48px; image-rendering: pixelated; border: 1px solid rgba(128,230,221,.28); }
.punishment-main > strong { color: var(--ink); font-size: .76rem; }
.punishment-main > p { margin: 7px 0 10px; color: #c6d6d4; font-size: .72rem; line-height: 1.55; }
.punishment-facts { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: .61rem; }
.rank-row { display: grid; grid-template-columns: 38px minmax(140px,.45fr) minmax(0,1fr); gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.rank-position { color: var(--ice); font-family: Unbounded,sans-serif; font-size: .78rem; text-align: center; }
.rank-row > div:nth-child(2) strong,.rank-row > div:nth-child(2) small { display: block; }
.rank-row > div:nth-child(2) small { margin-top: 4px; color: var(--muted); font-size: .6rem; }
.rank-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.rank-badge { display: inline-flex; gap: 6px; align-items: center; padding: 5px 8px; border: 1px solid rgba(128,230,221,.16); background: rgba(128,230,221,.04); color: #cfe7e5; font-size: .62rem; text-transform: capitalize; }
.rank-badge img { width: 48px; height: 16px; object-fit: contain; image-rendering: pixelated; }
.rank-categories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.rank-category { min-width: 0; padding: 8px; border: 1px solid var(--line); background: rgba(0,0,0,.11); }
.rank-category > small { display: block; margin-bottom: 7px; font-size: .52rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.rank-category.progression > small { color: var(--ice); }
.rank-category.staff > small { color: var(--amber); }
.rank-category.special > small { color: #bca9ff; }
.rank-category .rank-badges { justify-content: flex-start; }
.rank-category.progression .rank-badge { border-color: rgba(128,230,221,.2); }
.rank-category.staff .rank-badge { border-color: rgba(239,185,104,.22); }
.rank-category.special .rank-badge { border-color: rgba(188,169,255,.22); }
.rank-none { color: #5f7475; font-size: .58rem; }
.rank-key { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.rank-key span { padding: 5px 8px; border: 1px solid var(--line); font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rank-key .progression { color: var(--ice); border-color: rgba(128,230,221,.22); }
.rank-key .staff { color: var(--amber); border-color: rgba(239,185,104,.22); }
.rank-key .special { color: #bca9ff; border-color: rgba(188,169,255,.22); }
.analysis-inline-filter { display: grid; grid-template-columns: auto minmax(180px,330px); gap: 12px; align-items: center; margin-bottom: 12px; color: var(--muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.land-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.land-card { border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.land-card[open] { border-color: rgba(128,230,221,.28); }
.land-summary { display: grid; grid-template-columns: minmax(180px,1fr) repeat(3,minmax(80px,.35fr)) auto auto; gap: 14px; align-items: center; padding: 16px 18px; cursor: pointer; list-style: none; }
.land-summary::-webkit-details-marker { display: none; }
.land-summary:hover { background: rgba(128,230,221,.035); }
.land-summary h3 { margin: 0; font-family: Unbounded,sans-serif; font-size: .85rem; }
.land-summary > span small,.land-summary > span strong { display: block; }
.land-summary > span small { color: var(--muted); font-size: .53rem; letter-spacing: .07em; text-transform: uppercase; }
.land-summary > span strong { margin-top: 4px; color: var(--ink); font-size: .67rem; }
.land-expand-label { color: var(--ice); font-size: .59rem; font-weight: 800; text-transform: uppercase; }
.land-expand-label::after { content: " +"; }
.land-card[open] .land-expand-label::after { content: " −"; }
.land-detail-content { padding: 0 18px 18px; border-top: 1px solid var(--line); }
.land-detail-content > .land-title { margin-top: 16px; }
.land-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.land-detail-grid > section { padding: 14px; border: 1px solid var(--line); background: rgba(0,0,0,.1); }
.land-detail-grid h4,.land-members h4 { margin: 0 0 11px; color: var(--ice); font-family: Unbounded,sans-serif; font-size: .66rem; }
.land-card dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; margin: 0; font-size: .68rem; }
.land-card dt { color: var(--muted); }
.land-card dd { min-width: 0; margin: 0; color: #d7e4e2; overflow-wrap: anywhere; text-align: right; }
.land-members { display: grid; gap: 5px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.land-members > strong { margin-bottom: 2px; color: var(--muted); font-size: .57rem; letter-spacing: .09em; text-transform: uppercase; }
.land-members > span { display: flex; justify-content: space-between; gap: 10px; color: #d7e4e2; font-size: .65rem; }
.land-members small { color: var(--ice); font-size: .58rem; }
.land-members > span > span { min-width: 0; }
.land-members > span > span small { display: block; margin-top: 3px; color: var(--muted); overflow-wrap: anywhere; }
.land-detail-list { display: grid; gap: 7px; }
.land-detail-list > span { display: flex; justify-content: space-between; gap: 12px; font-size: .65rem; }
.land-detail-list small { color: var(--muted); text-align: right; }
.minecraft-text { white-space: pre-wrap; }
.log-filter-bar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(145px,.35fr) auto; gap: 10px; align-items: end; margin-bottom: 14px; padding: 13px; border: 1px solid var(--line); background: rgba(14,28,33,.58); }
.chat-search-console { margin-bottom: 14px; padding: 15px; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(14,34,40,.82),rgba(8,21,26,.88)); }
.chat-search-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.chat-search-heading h3 { margin: 2px 0 0; font-family: Unbounded,sans-serif; font-size: .82rem; }
.chat-search-heading small { display: block; margin-top: 5px; color: var(--muted); font-size: .56rem; }
.chat-search-heading > span { color: var(--ice); font-size: .65rem; font-weight: 800; }
.chat-quick-ranges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
.chat-quick-ranges button { min-height: 30px; padding: 0 10px; border: 1px solid var(--line-strong); background: rgba(128,230,221,.035); color: var(--muted); cursor: pointer; font-size: .6rem; font-weight: 700; }
.chat-quick-ranges button:hover { border-color: rgba(128,230,221,.4); color: var(--ice); }
.chat-quick-ranges button.active { border-color: var(--ice); background: rgba(128,230,221,.1); color: var(--ice); }
.chat-filter-bar { display: grid; gap: 10px; margin: 0; }
.chat-main-filters { display: grid; grid-template-columns: repeat(4,minmax(135px,1fr)); gap: 10px; align-items: end; padding: 13px; border: 1px solid var(--line); background: rgba(5,15,19,.4); }
.chat-main-filters .chat-filter-wide { grid-column: span 2; }
.chat-filter-actions { display: flex; justify-content: flex-end; gap: 8px; align-items: center; }
.log-filter-bar label,.chat-filter-bar label { display: grid; gap: 6px; color: var(--muted); font-size: .55rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.log-filter-bar input,.log-filter-bar select,.chat-filter-bar input,.chat-filter-bar select { min-width: 0; width: 100%; }
.chat-more-filters { border: 1px solid var(--line); background: rgba(5,15,19,.28); }
.chat-more-filters > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; color: var(--ice); cursor: pointer; font-size: .66rem; font-weight: 800; list-style: none; }
.chat-more-filters > summary::-webkit-details-marker { display: none; }
.chat-more-filters > summary::after { content: "+"; font-size: 1rem; }
.chat-more-filters[open] > summary::after { content: "−"; }
.chat-more-filters > summary small { margin-left: auto; color: var(--muted); font-size: .55rem; font-weight: 500; }
.chat-advanced-grid { display: grid; grid-template-columns: repeat(4,minmax(125px,1fr)); gap: 10px; padding: 13px; border-top: 1px solid var(--line); }
.chat-log-list { display: grid; gap: 8px; }
.log-record,.chat-log-row { border: 1px solid var(--line); background: rgba(14,28,33,.72); }
.log-record[open] { border-color: rgba(128,230,221,.28); }
.log-record > summary { display: grid; grid-template-columns: 42px minmax(180px,1fr) minmax(80px,.25fr) minmax(80px,.25fr) auto; gap: 12px; align-items: center; padding: 13px 15px; cursor: pointer; list-style: none; }
.log-record > summary::-webkit-details-marker { display: none; }
.log-record > summary:hover { background: rgba(128,230,221,.035); }
.log-record img,.chat-log-row > img { width: 40px; height: 40px; object-fit: cover; image-rendering: pixelated; border: 1px solid rgba(128,230,221,.24); }
.log-record summary span > strong,.log-record summary span > small { display: block; }
.log-record summary span > small { color: var(--muted); font-size: .54rem; overflow-wrap: anywhere; }
.log-record summary span > strong { margin-top: 3px; color: var(--ink); font-size: .69rem; }
.log-record-details { padding: 14px 16px 16px; border-top: 1px solid var(--line); }
.log-record-details dl { display: grid; grid-template-columns: minmax(120px,.35fr) minmax(0,1fr); gap: 8px 16px; margin: 0; font-size: .66rem; }
.log-record-details dt { color: var(--muted); }
.log-record-details dd { margin: 0; color: #d7e4e2; overflow-wrap: anywhere; }
.chat-log-row { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; padding: 13px 15px; }
.chat-log-message > div { display: flex; justify-content: space-between; gap: 12px; }
.chat-log-message strong { color: var(--ice); font-size: .72rem; }
.chat-log-message span,.chat-log-message small { color: var(--muted); font-size: .56rem; }
.chat-log-message p { margin: 6px 0; color: #d7e4e2; font-size: .72rem; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.log-pagination { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 14px; }
.log-pagination span { color: var(--muted); font-size: .62rem; }
.log-pagination button:disabled { opacity: .38; cursor: not-allowed; }
.work-session-summary { margin-bottom: 12px; }
.work-session-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,320px); gap: 12px; align-items: start; }
.work-session-main { min-width: 0; }
.work-session-filters { grid-template-columns: minmax(190px,1fr) minmax(135px,.35fr) minmax(135px,.35fr) auto; }
.work-session-list { display: grid; gap: 8px; }
.work-session-record > summary { grid-template-columns: 42px minmax(155px,1fr) minmax(75px,.25fr) minmax(135px,.45fr) auto; }
.session-status { display: inline-flex; justify-content: center; min-width: 72px; padding: 5px 8px; border: 1px solid var(--line); color: var(--muted); font-size: .55rem; font-weight: 900; letter-spacing: .07em; }
.session-status.session-active { border-color: rgba(128,230,221,.34); background: rgba(128,230,221,.08); color: var(--ice); }
.session-status.session-expired { border-color: rgba(239,185,104,.25); background: rgba(239,185,104,.06); color: var(--amber); }
.active-session-panel { position: sticky; top: 14px; padding: 15px; border: 1px solid var(--line); background: linear-gradient(160deg,rgba(16,34,39,.94),rgba(8,19,24,.96)); }
.active-session-panel h3 { margin: 2px 0 0; font-family: Unbounded,sans-serif; font-size: .78rem; }
.active-session-card { margin-top: 10px; padding: 12px; border: 1px solid rgba(128,230,221,.2); background: rgba(128,230,221,.04); transition: opacity .2s,border-color .2s; }
.active-session-card.expired { opacity: .56; border-color: rgba(239,185,104,.22); }
.active-session-card > div { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 9px; align-items: center; }
.active-session-card img { width: 36px; height: 36px; image-rendering: pixelated; border: 1px solid rgba(128,230,221,.25); }
.active-session-card span strong,.active-session-card span small { display: block; }
.active-session-card span strong { color: var(--ink); font-size: .68rem; }
.active-session-card span small,.active-session-card > small { color: var(--muted); font-size: .54rem; }
.session-countdown { display: block; margin: 12px 0 5px; color: var(--ice); font-family: Unbounded,sans-serif; font-size: 1.02rem; letter-spacing: .04em; }
.active-session-card.expired .session-countdown { color: var(--amber); }
.compact-empty { padding: 24px 8px 10px; }
.compact-empty h2 { font-size: .72rem; }
.land-tag { display: block; margin-top: 5px; color: var(--muted); font-size: .61rem; }
.land-title { margin: -2px 0 14px; padding: 9px 11px; border-left: 2px solid rgba(128,230,221,.35); background: rgba(128,230,221,.035); color: #c9d9d7; font-size: .68rem; line-height: 1.5; }
.activity-chart { height: 275px; display: grid; grid-template-columns: repeat(30,minmax(22px,1fr)); gap: 5px; align-items: end; overflow-x: auto; padding: 30px 2px 2px; border-bottom: 1px solid var(--line); }
.activity-day { position: relative; min-width: 22px; height: 100%; display: flex; flex-direction: column; justify-content: end; align-items: center; }
.activity-bar { width: min(18px,80%); min-height: 3px; border-radius: 2px 2px 0 0; background: linear-gradient(to top, rgba(128,230,221,.35), var(--ice)); box-shadow: 0 0 12px rgba(128,230,221,.08); }
.activity-value { margin-bottom: 3px; color: #9fb4b2; font-size: .52rem; }
.activity-day small { width: 42px; margin-top: 7px; transform: rotate(-55deg); transform-origin: top center; color: #657d7e; font-size: .48rem; white-space: nowrap; }
.discord-profile { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 12px; align-items: center; }
.discord-profile > div { min-width: 0; }
.discord-profile strong, .discord-profile span, .discord-profile small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discord-profile strong { font-size: .78rem; }
.discord-profile span { margin-top: 2px; color: var(--muted); font-size: .68rem; }
.discord-profile small { margin-top: 4px; color: #657d7e; font-size: .58rem; }
.discord-avatar { display: grid; width: 46px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: #5865f2; object-fit: cover; color: white; font-weight: 800; }
.ip-address-list { display: grid; gap: 8px; }
.ip-address-record { padding: 13px; border: 1px solid var(--line); background: rgba(0,0,0,.13); }
.ip-address-heading { display: flex; justify-content: space-between; gap: 12px; }
.ip-address-heading strong { color: var(--ice); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; }
.ip-address-heading span, .ip-address-record > small { color: var(--muted); font-size: .6rem; }
.ip-match-list { display: grid; gap: 5px; margin-top: 10px; }
.ip-match-list > span { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 10px; padding-top: 6px; border-top: 1px solid var(--line); font-size: .65rem; }
.ip-match-list small { overflow-wrap: anywhere; color: var(--muted); }
@media (max-width: 720px) {
  .analysis-search-row { grid-template-columns: 1fr; }
  .analysis-search-row .primary-button { width: 100%; }
  .analysis-grid { grid-template-columns: 1fr; }
  .analysis-card.full { grid-column: auto; }
  .player-facts { grid-template-columns: repeat(2,1fr); }
  .overview-stats { grid-template-columns: repeat(2,1fr); }
  .activity-chart { grid-template-columns: repeat(30,24px); }
  .server-chart-grid { grid-template-columns: 1fr; }
  .rank-row { grid-template-columns: 32px minmax(0,1fr); }
  .rank-badges { grid-column: 1 / -1; justify-content: flex-start; }
  .rank-categories { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .analysis-inline-filter { grid-template-columns: 1fr; }
  .echart { height: 285px; }
  .echart.overview-zoom-chart { height: 330px; }
  .directory-controls,.punishment-controls { grid-template-columns: 1fr; }
  .notes-directory-controls { grid-template-columns: 1fr; }
  .note-player-row { grid-template-columns: 42px minmax(0,1fr) auto; }
  .note-player-row > span:nth-child(3),.note-player-row > span:nth-child(4) { display: none; }
  .note-player-row > span:nth-child(5) { display: block; }
  .player-directory-row { grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; }
  .player-directory-row > img { width: 42px; height: 42px; }
  .player-directory-row > span:nth-child(3),.player-directory-row > span:nth-child(4),.player-directory-row > span:nth-child(5) { display: none; }
  .land-summary { grid-template-columns: minmax(0,1fr) auto auto; }
  .land-summary > span:nth-child(2),.land-summary > span:nth-child(3),.land-summary > span:nth-child(4) { display: none; }
  .land-summary .source-pill { display: inline-block; }
  .land-detail-grid { grid-template-columns: 1fr; }
  .log-filter-bar { grid-template-columns: 1fr; }
  .chat-main-filters,.chat-advanced-grid { grid-template-columns: 1fr 1fr; }
  .chat-main-filters .chat-filter-wide { grid-column: 1 / -1; }
  .log-record > summary { grid-template-columns: 42px minmax(0,1fr) auto; }
  .log-record > summary > span:nth-child(3),.log-record > summary > span:nth-child(4) { display: none; }
  .work-session-layout { grid-template-columns: 1fr; }
  .work-session-filters { grid-template-columns: 1fr; }
  .active-session-panel { position: static; grid-row: 1; }
  .work-session-record > summary { grid-template-columns: 42px minmax(0,1fr) auto; }
}

@media (max-width: 480px) {
  .chat-main-filters,.chat-advanced-grid { grid-template-columns: 1fr; }
  .chat-main-filters .chat-filter-wide { grid-column: 1; }
  .chat-filter-actions { display: grid; grid-template-columns: 1fr; }
  .chat-search-heading { align-items: flex-start; }
  .chat-search-heading > span { white-space: nowrap; }
}
