body{
    margin:0;
    padding:20px;
    min-height:100vh;
    background:
        linear-gradient(180deg,rgba(255,123,0,.045),transparent 240px),
        linear-gradient(180deg,#060607,#0b0c0e 48%,#060607);
}

.analytics-shell{
    --tl-bg:#060607;
    --tl-surface:#101113;
    --tl-surface-2:#15171a;
    --tl-surface-3:#1b1e22;
    --tl-border:rgba(255,255,255,.09);
    --tl-border-strong:rgba(255,255,255,.16);
    --tl-accent:#f28a22;
    --tl-accent-soft:rgba(242,138,34,.13);
    --tl-cyan:#65d9ff;
    --tl-green:#39d47a;
    --tl-purple:#aa8dff;
    --tl-yellow:#f4c95d;
    --tl-red:#ef6a7a;
    --tl-text:#f4f6f8;
    --tl-muted:#9ba5ae;
    --tl-dim:#6f7982;
    --tl-shadow:0 16px 36px rgba(0,0,0,.28);
    max-width:1500px;
    margin:0 auto;
}

.analytics-shell .card,
.analytics-shell .panel,
.analytics-shell .statbox{
    min-width:0;
    border-radius:8px;
    border:1px solid var(--tl-border);
    background:linear-gradient(180deg,rgba(18,19,22,.96),rgba(10,11,13,.98));
    box-shadow:var(--tl-shadow);
}

.analytics-shell .card:hover,
.analytics-shell .panel:hover,
.analytics-shell .statbox:hover{
    border-color:var(--tl-border-strong);
}

.top-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
    padding:10px 12px;
}

.brand-lockup{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-weight:900;
    letter-spacing:0;
}

.brand-lockup img{
    width:34px;
    height:34px;
    border-radius:6px;
    background:rgba(255,255,255,.05);
    border:1px solid var(--tl-border);
    padding:4px;
}

.analytics-shell .pt-button.secondary{
    min-height:38px;
    padding:8px 12px;
    border-radius:6px;
    color:#f5c28e;
    background:rgba(255,255,255,.04);
    border-color:rgba(255,255,255,.1);
    box-shadow:none;
}

.analytics-shell .pt-button.secondary:hover{
    color:#fff;
    border-color:rgba(242,138,34,.42);
    background:rgba(242,138,34,.1);
}

.hero-panel{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,380px);
    align-items:stretch;
    gap:20px;
    margin-bottom:14px;
    padding:24px;
    border:1px solid rgba(242,138,34,.22);
    border-radius:8px;
    background:
        linear-gradient(135deg,rgba(242,138,34,.13),transparent 34%),
        linear-gradient(180deg,rgba(20,21,24,.98),rgba(8,9,11,.98));
    box-shadow:var(--tl-shadow);
}

.hero-panel:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:64px 64px;
    opacity:.32;
    pointer-events:none;
}

.hero-copy,
.hero-status{
    position:relative;
    z-index:1;
}

.hero-copy{
    max-width:850px;
}

.eyebrow,
.analytics-shell .eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    margin:0;
    padding:0 9px;
    border:1px solid rgba(242,138,34,.28);
    border-radius:6px;
    color:#f5c28e;
    background:rgba(242,138,34,.1);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}

.hero-panel h1{
    margin:14px 0 10px;
    color:#fff;
    font-size:3.1rem;
    line-height:1;
    letter-spacing:0;
}

.hero-panel p{
    margin:0;
    max-width:760px;
    color:#d9dee4;
    font-size:1rem;
    line-height:1.55;
}

.hero-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.hero-kpi{
    min-width:0;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:8px;
    background:rgba(255,255,255,.04);
}

.hero-kpi span{
    display:block;
    color:var(--tl-muted);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:0;
}

.hero-kpi strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:1rem;
    line-height:1.18;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.hero-meta.countdown-row{
    margin-top:10px;
}

.hud-pill{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    border:1px solid rgba(242,138,34,.24);
    background:rgba(242,138,34,.09);
    color:#f5c28e;
    border-radius:6px;
    padding:7px 10px;
    font-weight:850;
    font-size:.82rem;
    letter-spacing:0;
}

.countdown-badge{
    gap:8px;
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.045);
    color:#fff;
    box-shadow:none;
}

.countdown-badge .reset-label{
    display:inline-flex;
    align-items:center;
    min-height:18px;
    padding:0 6px;
    border-radius:4px;
    background:rgba(242,138,34,.14);
    color:#f5c28e;
    font-size:.68rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
    white-space:nowrap;
}

.countdown-badge [data-reset-countdown]{
    font-variant-numeric:tabular-nums;
    letter-spacing:0;
    font-size:.86rem;
    white-space:nowrap;
}

.status-line{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin-top:12px;
    padding:10px 12px;
    border:1px solid rgba(101,217,255,.2);
    border-radius:8px;
    background:rgba(101,217,255,.07);
    color:#dff7ff;
    font-size:.86rem;
    font-weight:800;
}

.status-line strong{
    color:#fff;
}

.hero-status{
    display:grid;
    gap:10px;
}

.status-tile{
    padding:14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    background:rgba(8,9,11,.58);
}

.status-tile span{
    display:block;
    color:var(--tl-muted);
    font-size:.74rem;
    font-weight:850;
    letter-spacing:0;
}

.status-tile strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:1.24rem;
    line-height:1.15;
}

.status-tile.current{
    border-color:rgba(242,138,34,.34);
    background:rgba(242,138,34,.1);
}

.status-tile.next,
.status-tile.repeat{
    border-color:rgba(101,217,255,.22);
    background:rgba(101,217,255,.07);
}

.alert-panel{
    margin:0 0 14px;
    padding:13px 15px;
    border:1px solid rgba(244,201,93,.28);
    border-radius:8px;
    background:rgba(244,201,93,.08);
}

.alert-panel strong{
    display:block;
    color:#fff;
    margin-bottom:4px;
}

.alert-panel p{
    margin:0;
    color:#f4d995;
    line-height:1.5;
}

.intel-strip,
.freshness-grid,
.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 14px;
}

.intel-card,
.freshness-card,
.metric-card{
    position:relative;
    min-height:112px;
    padding:16px;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:linear-gradient(180deg,rgba(20,21,24,.94),rgba(12,13,15,.98));
    box-shadow:var(--tl-shadow);
}

.intel-card:after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:3px;
    background:rgba(242,138,34,.5);
}

.freshness-card:before,
.metric-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:3px;
    background:rgba(101,217,255,.55);
}

.freshness-card.warn:before{
    background:var(--tl-yellow);
}

.freshness-card.stale:before{
    background:var(--tl-red);
}

.intel-card span,
.freshness-card span,
.metric-card .metric-label{
    display:block;
    color:var(--tl-muted);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}

.intel-card strong,
.freshness-card strong,
.metric-card strong{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:1.62rem;
    line-height:1.05;
}

.intel-card small,
.freshness-card small,
.metric-card small{
    display:block;
    margin-top:8px;
    color:#c7d0d8;
    font-weight:750;
    line-height:1.35;
}

.intel-card small span{
    display:block;
    color:#c7d0d8;
    font-size:.82rem;
    font-weight:750;
    letter-spacing:0;
    text-transform:none;
}

.intel-card small .intel-subline{
    color:var(--tl-muted);
}

.intel-card .intel-icon{
    position:absolute;
    right:16px;
    bottom:14px;
    opacity:.55;
}

.metric-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.metric-card strong{
    font-size:2rem;
}

.metric-card small{
    color:#f5c28e;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.cadence-panel{
    margin:0 0 18px;
    padding:14px;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:rgba(16,17,19,.72);
}

.cadence-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:12px;
}

.cadence-head strong{
    color:#fff;
    font-size:1rem;
}

.cadence-head span{
    color:var(--tl-muted);
    font-size:.82rem;
    font-weight:750;
}

.cadence-track{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:8px;
}

.cadence-node{
    min-height:54px;
    padding:9px 8px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:8px;
    background:rgba(255,255,255,.035);
    text-align:center;
}

.cadence-node b{
    display:block;
    color:#fff;
    font-size:.92rem;
}

.cadence-node span{
    display:block;
    margin-top:5px;
    color:var(--tl-muted);
    font-size:.68rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}

.cadence-node.tracked{
    border-color:rgba(57,212,122,.3);
    background:rgba(57,212,122,.08);
}

.cadence-node.expected{
    border-color:rgba(101,217,255,.36);
    background:rgba(101,217,255,.09);
}

.cadence-node.not-yet{
    border-color:rgba(170,141,255,.32);
    background:rgba(170,141,255,.08);
}

.cadence-node.repeated{
    border-color:rgba(244,201,93,.38);
    background:rgba(244,201,93,.09);
}

.cadence-node.legacy,
.cadence-node.pending{
    opacity:.78;
}

.panel-pad{
    padding:18px;
}

.panel-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px;
}

.panel-title-copy{
    display:grid;
    gap:4px;
}

.panel-title h2{
    margin:0;
    font-size:1.32rem;
    line-height:1.2;
    letter-spacing:0;
}

.panel-title p{
    margin:5px 0 0;
    color:var(--tl-muted);
    font-size:.92rem;
    line-height:1.45;
}

.panel-hint{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:4px;
    padding:5px 8px;
    border:1px solid rgba(101,217,255,.18);
    border-radius:6px;
    background:rgba(101,217,255,.06);
    color:#bfeeff;
    font-size:.76rem;
    font-weight:800;
}

.analytics-body{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:14px;
    align-items:start;
}

.analytics-content{
    min-width:0;
}

.analytics-content section[id]{
    scroll-margin-top:84px;
}

.section-tabs{
    position:sticky;
    top:14px;
    z-index:20;
    display:grid;
    gap:6px;
    margin:0;
    padding:10px;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:linear-gradient(180deg,rgba(14,15,17,.92),rgba(8,9,11,.94));
    backdrop-filter:blur(12px);
    box-shadow:0 14px 30px rgba(0,0,0,.22);
}

.section-tabs-label{
    display:block;
    margin:0 0 4px;
    padding:0 4px 7px;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:var(--tl-muted);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:0;
}

.section-tabs a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:38px;
    padding:0 10px 0 13px;
    border:1px solid transparent;
    border-radius:6px;
    color:#cfd5dc;
    text-decoration:none;
    font-weight:850;
    font-size:.82rem;
    letter-spacing:0;
}

.section-tabs a:before{
    content:"";
    position:absolute;
    left:6px;
    top:11px;
    bottom:11px;
    width:3px;
    border-radius:99px;
    background:rgba(244,201,93,.45);
    opacity:0;
}

.section-tabs a:hover,
.section-tabs a:focus-visible,
.section-tabs a.is-active{
    border-color:rgba(244,201,93,.24);
    color:#fff;
    background:rgba(244,201,93,.08);
    outline:none;
}

.section-tabs a:hover:before,
.section-tabs a:focus-visible:before,
.section-tabs a.is-active:before{
    opacity:1;
}

.section-tabs a.is-active{
    border-color:rgba(244,201,93,.34);
    background:linear-gradient(90deg,rgba(244,201,93,.14),rgba(244,201,93,.05));
}

.section-row{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:18px;
    margin-bottom:18px;
    align-items:start;
}

.section-row > *,
.dashboard-grid > *,
.intel-strip > *,
.freshness-grid > *,
.playlist-library > *{
    min-width:0;
}

.section-row.single{
    grid-template-columns:1fr;
}

.frequency-stack{
    gap:16px;
}

.section-row.three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.rotation-timeline{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:10px;
    max-width:100%;
    min-width:0;
    overflow:visible;
    padding:4px 0 0;
}

.rotation-step{
    position:relative;
    min-width:0;
    min-height:150px;
    padding:13px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.rotation-step:after{
    display:none;
}

.rotation-step.tracked{
    border-color:rgba(57,212,122,.26);
}

.rotation-step.repeated{
    border-color:rgba(244,201,93,.42);
    background:rgba(244,201,93,.08);
}

.rotation-step.not-yet{
    border-color:rgba(170,141,255,.3);
    opacity:.9;
}

.rotation-step.legacy{
    opacity:.78;
}

.rotation-step b{
    display:block;
    color:#fff;
    font-size:1rem;
}

.rotation-step span{
    display:inline-flex;
    margin-top:7px;
    padding:4px 7px;
    border-radius:99px;
    border:1px solid rgba(255,255,255,.1);
    color:#f5c28e;
    background:rgba(8,9,11,.5);
    font-size:.7rem;
    font-weight:850;
    text-transform:none;
    letter-spacing:0;
}

.rotation-step small{
    display:block;
    margin-top:9px;
    color:var(--tl-muted);
    line-height:1.35;
    font-weight:750;
}

.rotation-step p{
    margin:8px 0 0;
    color:#d8dde3;
    font-size:.8rem;
    line-height:1.4;
}

.filter-bar{
    display:grid;
    grid-template-columns:minmax(220px,1.1fr) repeat(3,minmax(150px,.45fr));
    gap:10px;
    margin:0 0 18px;
}

.filter-bar input,
.filter-bar select{
    margin-top:0;
    min-height:44px;
    border-color:rgba(255,255,255,.12);
}

.current-rotation-panel{
    position:relative;
    overflow:hidden;
    margin:0 0 18px;
    border-color:rgba(255,255,255,.11);
    background:
        linear-gradient(135deg,rgba(244,201,93,.045),transparent 28%),
        linear-gradient(180deg,rgba(17,18,20,.98),rgba(7,8,10,.98));
}

.current-rotation-panel:before{
    content:"";
    position:absolute;
    inset:0;
    border-top:1px solid rgba(244,201,93,.32);
    pointer-events:none;
}

.current-title{
    position:relative;
    z-index:1;
    align-items:center;
}

.section-kicker{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    margin:0 0 8px;
    padding:0 8px;
    border:1px solid rgba(242,138,34,.24);
    border-radius:6px;
    color:#f5c28e;
    background:rgba(242,138,34,.09);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:0;
}

.current-table-wrap{
    position:relative;
    z-index:1;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    background:
        linear-gradient(180deg,rgba(21,29,42,.72),rgba(9,12,17,.92)),
        rgba(13,17,24,.88);
}

.current-loot-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    table-layout:fixed;
}

.current-loot-table th{
    padding:11px 14px;
    border-bottom:1px solid rgba(255,255,255,.11);
    color:#f5c28e;
    background:linear-gradient(180deg,rgba(8,12,18,.9),rgba(7,10,15,.72));
    font-size:.72rem;
    font-weight:900;
    text-align:left;
}

.current-loot-table th:first-child,
.current-loot-table .current-num-cell{
    width:60px;
    text-align:center;
}

.current-loot-table th:last-child,
.current-category-cell{
    width:150px;
    text-align:right;
}

.current-loot-table td{
    padding:12px 14px;
    border-bottom:1px solid rgba(255,255,255,.07);
    color:#dce5ef;
    background:rgba(18,24,35,.62);
    vertical-align:middle;
}

.current-loot-table tr:nth-child(even) td{
    background:rgba(14,20,30,.72);
}

.current-loot-table tr:last-child td{
    border-bottom:0;
}

.current-loot-table tbody tr:hover td{
    background:rgba(25,34,49,.86);
}

.current-num-cell span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    min-height:26px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:6px;
    color:#dff5ff;
    background:rgba(255,255,255,.045);
    font-weight:950;
    font-variant-numeric:tabular-nums;
}

.current-mission-cell,
.current-loot-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.current-mission-cell .mission-short{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:30px;
    padding:4px 8px;
    border:1px solid rgba(244,201,93,.24);
    border-radius:6px;
    color:#f8d79a;
    background:rgba(244,201,93,.075);
    font-size:.78rem;
    font-weight:900;
}

.current-mission-cell strong,
.current-loot-cell strong{
    min-width:0;
    overflow:hidden;
    color:#fff;
    font-size:.94rem;
    font-weight:850;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.current-loot-cell{
    width:max-content;
    max-width:100%;
    min-height:40px;
    padding:5px 10px 5px 8px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.current-loot-cell .loot-icon{
    flex:0 0 auto;
    width:34px;
    height:34px;
}

.current-loot-cell .loot-icon img{
    max-width:28px;
    max-height:28px;
}

.current-category-cell .category-chip{
    margin-top:0;
    white-space:nowrap;
}

.loot-name{
    font-weight:900;
    color:#fff;
    line-height:1.3;
}

.loot-line{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.loot-line .loot-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

.loot-icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:34px;
    height:34px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:7px;
    background:rgba(255,255,255,.055);
}

.loot-icon img{
    max-width:26px;
    max-height:26px;
    object-fit:contain;
    filter:drop-shadow(0 2px 5px rgba(0,0,0,.5));
}

.loot-icon.fallback{
    font-size:.68rem;
    font-weight:900;
    color:#f5c28e;
    letter-spacing:0;
}

.loot-icon.large{
    width:48px;
    height:48px;
    border-radius:8px;
}

.loot-icon.large img{
    max-width:38px;
    max-height:38px;
}

.loot-icon.small{
    width:28px;
    height:28px;
    border-radius:6px;
}

.loot-icon.small img{
    max-width:22px;
    max-height:22px;
}

.category-chip,
.status-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:11px;
    min-height:28px;
    padding:5px 9px;
    border-radius:6px;
    font-size:.72rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}

.cat-brand-set{
    background:rgba(244,201,93,.1);
    border:1px solid rgba(244,201,93,.34);
    color:#fff0bf;
}

.cat-gear-set{
    background:rgba(57,212,122,.1);
    border:1px solid rgba(57,212,122,.32);
    color:#e9ffe5;
}

.cat-gear-slot,
.cat-gear-mod,
.cat-skill-mod{
    background:rgba(244,201,93,.1);
    border:1px solid rgba(244,201,93,.34);
    color:#fff0bf;
}

.cat-weapon-type{
    background:rgba(244,201,93,.1);
    border:1px solid rgba(244,201,93,.34);
    color:#fff0bf;
}

.cat-other{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.15);
    color:#f2f7f7;
}

.table-wrap{
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:rgba(8,9,11,.78);
}

.data-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

.data-table th{
    background:#1d1f23;
    color:#f5c28e;
    text-align:left;
    padding:11px 12px;
    font-size:.78rem;
    font-weight:850;
    text-transform:none;
    letter-spacing:0;
}

.data-table td{
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.07);
    color:#e7edf4;
    background:rgba(16,17,19,.72);
}

.data-table tr:nth-child(even) td{
    background:rgba(12,13,15,.88);
}

.data-table tr:hover td{
    background:rgba(28,30,34,.96);
}

.vendor-cache-list{
    display:grid;
    gap:10px;
}

.recent-vendor-panel .vendor-cache-list{
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}

.vendor-cache-loot{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.vendor-cache-loot .loot-icon{
    flex:0 0 auto;
}

.vendor-cache-loot strong{
    min-width:0;
    overflow:hidden;
    color:#edf4fb;
    font-size:.92rem;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.vendor-cache-day{
    display:grid;
    gap:10px;
    min-width:0;
    padding:12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.024));
}

.vendor-cache-day-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.vendor-cache-day-head strong,
.vendor-cache-day-head span,
.vendor-cache-type{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.vendor-cache-day-head strong{
    color:#eaf1f7;
    font-size:.94rem;
    font-weight:800;
}

.vendor-cache-day-head span{
    flex:0 0 auto;
    padding:4px 7px;
    border:1px solid rgba(244,201,93,.24);
    border-radius:6px;
    color:#f7c98f;
    background:rgba(244,201,93,.075);
    font-size:.68rem;
    font-weight:850;
}

.vendor-cache-items{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    min-width:0;
}

.vendor-cache-item{
    display:grid;
    gap:7px;
    min-width:0;
    padding:9px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:7px;
    background:rgba(5,6,8,.36);
}

.vendor-cache-type{
    justify-self:start;
    padding:3px 6px;
    border:1px solid rgba(244,201,93,.2);
    border-radius:5px;
    color:#f7c98f;
    background:rgba(244,201,93,.07);
    font-size:.78rem;
    font-weight:850;
}

.rank-list{
    display:grid;
    gap:9px;
}

.rank-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.rank-item.has-icon{
    grid-template-columns:auto minmax(0,1fr) auto;
}

.rank-item strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.watchlist-excluded{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.09);
}

.watchlist-excluded > strong{
    display:block;
    margin-bottom:9px;
    color:var(--tl-muted);
    font-size:.78rem;
    font-weight:850;
}

.watchlist-section .rank-list{
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}

.never-watchlist-panel .rank-item{
    min-height:58px;
}

.never-watchlist-panel .rank-item strong,
.never-watchlist-panel .restricted-copy strong,
.never-watchlist-panel .restricted-copy small{
    white-space:normal;
    overflow-wrap:anywhere;
}

.restricted-loot{
    border-color:rgba(255,255,255,.07);
    background:rgba(255,255,255,.025);
}

.restricted-copy{
    min-width:0;
}

.restricted-copy strong,
.restricted-copy small{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.restricted-copy small{
    margin-top:3px;
    color:var(--tl-muted);
    font-size:.74rem;
    font-weight:750;
}

.availability-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:4px 8px;
    border-radius:6px;
    border:1px solid rgba(255,255,255,.12);
    color:#dce5ef;
    background:rgba(255,255,255,.05);
    font-size:.72rem;
    font-weight:850;
    white-space:nowrap;
}

.availability-chip.pts{
    color:#d8c6ff;
    border-color:rgba(170,141,255,.28);
    background:rgba(170,141,255,.08);
}

.availability-chip.dark-zone{
    color:#ffd59b;
    border-color:rgba(242,138,34,.28);
    background:rgba(242,138,34,.08);
}

.rotation-date-chip{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 8px;
    border:1px solid rgba(244,201,93,.22);
    border-radius:6px;
    color:#fff0bf;
    background:rgba(244,201,93,.07);
    font-size:.78rem;
    font-weight:850;
    white-space:nowrap;
}

.bar-track{
    grid-column:1 / -1;
    height:7px;
    border-radius:99px;
    background:rgba(255,255,255,.07);
    overflow:hidden;
}

.rank-item.has-icon .bar-track{
    grid-column:1 / -1;
}

.bar-track span{
    display:block;
    height:100%;
    background:linear-gradient(90deg,var(--tl-accent),var(--tl-cyan));
}

.icon-toggle{
    border:0;
    padding:0;
    margin:0;
    background:transparent;
    border-radius:7px;
    cursor:pointer;
    box-shadow:none;
}

.icon-toggle:hover{
    transform:none;
    filter:none;
}

.icon-toggle:focus-visible{
    outline:2px solid var(--tl-cyan);
    outline-offset:3px;
}

.icon-toggle[aria-expanded="true"] .loot-icon{
    border-color:rgba(101,217,255,.72);
    box-shadow:0 0 0 2px rgba(101,217,255,.12);
}

.loot-detail-dock,
.vendor-detail-dock{
    margin-top:14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    background:rgba(8,9,11,.7);
    overflow:hidden;
}

.loot-detail-dock[hidden],
.vendor-detail-dock[hidden]{
    display:none;
}

.loot-detail-panel,
.vendor-detail-panel{
    display:none;
    padding:14px;
}

.loot-detail-panel.is-active,
.vendor-detail-panel.is-active{
    display:block;
}

.loot-detail-title,
.vendor-detail-title{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
}

.loot-detail-title .loot-icon{
    flex:0 0 auto;
}

.loot-detail-heading{
    display:grid;
    gap:5px;
    min-width:0;
}

.loot-detail-title strong,
.vendor-detail-title strong{
    color:#fff;
    font-size:1.05rem;
    line-height:1.2;
}

.loot-detail-title strong{
    display:block;
    white-space:normal;
}

.loot-detail-heading span,
.vendor-detail-title span{
    color:var(--tl-muted);
    font-size:.84rem;
    font-weight:750;
}

.loot-detail-heading span{
    justify-self:start;
    padding:3px 7px;
    border:1px solid rgba(101,217,255,.18);
    border-radius:6px;
    color:#ccefff;
    background:rgba(101,217,255,.075);
    line-height:1.1;
}

.appearance-table{
    width:100%;
    border-collapse:collapse;
}

.appearance-table th{
    padding:8px 10px;
    background:rgba(242,138,34,.12);
    color:#f5c28e;
    text-align:left;
    font-size:.72rem;
    text-transform:none;
    letter-spacing:0;
}

.appearance-table td{
    padding:8px 10px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#e7edf4;
    font-size:.84rem;
}

.appearance-table td:last-child{
    color:var(--tl-muted);
}

.frequency-appearance-table-wrap{
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    overflow:hidden;
    background:rgba(5,6,8,.32);
}

.appearance-date{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 7px;
    border:1px solid rgba(244,201,93,.2);
    border-radius:6px;
    color:#fff0bf;
    background:rgba(244,201,93,.07);
    font-size:.72rem;
    font-weight:850;
    white-space:nowrap;
}

.frequency-appearance-table{
    table-layout:fixed;
}

.frequency-appearance-table th:first-child,
.frequency-appearance-table td:first-child{
    width:118px;
}

.frequency-appearance-table th:last-child,
.frequency-appearance-table td:last-child{
    width:94px;
}

.frequency-appearance-table td{
    vertical-align:top;
}

.frequency-appearance-table .appearance-mission{
    color:#fff;
    font-size:.88rem;
    font-weight:850;
    line-height:1.25;
    overflow-wrap:anywhere;
    white-space:normal;
}

.frequency-table-wrap{
    margin-top:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    overflow:hidden;
    background:rgba(5,6,8,.28);
}

.frequency-table > tbody > tr[hidden]{
    display:none !important;
}

.frequency-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.frequency-table > thead > tr > th{
    padding:9px 10px;
    background:rgba(242,138,34,.1);
    color:#f5c28e;
    text-align:left;
    font-size:.72rem;
    font-weight:850;
}

.frequency-table > thead > tr > th:nth-child(1),
.frequency-table > thead > tr > th:nth-child(3),
.frequency-table > thead > tr > th:nth-child(4),
.frequency-table > thead > tr > th:nth-child(5),
.frequency-table > thead > tr > th:nth-child(6),
.frequency-table > tbody > tr.frequency-row > td:nth-child(1),
.frequency-table > tbody > tr.frequency-row > td:nth-child(3),
.frequency-table > tbody > tr.frequency-row > td:nth-child(4),
.frequency-table > tbody > tr.frequency-row > td:nth-child(5),
.frequency-table > tbody > tr.frequency-row > td:nth-child(6){
    text-align:center;
}

.frequency-table > thead > tr > th:nth-child(1),
.frequency-table > tbody > tr.frequency-row > td:nth-child(1){
    width:58px;
}

.frequency-table > thead > tr > th:nth-child(3),
.frequency-table > tbody > tr.frequency-row > td:nth-child(3){
    width:112px;
}

.frequency-table > thead > tr > th:nth-child(4),
.frequency-table > tbody > tr.frequency-row > td:nth-child(4){
    width:112px;
}

.frequency-table > thead > tr > th:nth-child(5),
.frequency-table > tbody > tr.frequency-row > td:nth-child(5){
    width:132px;
}

.frequency-table > thead > tr > th:nth-child(6),
.frequency-table > tbody > tr.frequency-row > td:nth-child(6){
    width:82px;
}

.frequency-row{
    cursor:pointer;
}

.frequency-row:hover > td,
.frequency-row:focus-visible > td{
    background:rgba(244,201,93,.055);
}

.frequency-table > tbody > tr.frequency-row > td{
    padding:9px 10px;
    border-top:1px solid rgba(255,255,255,.065);
    color:#dce5ef;
    background:rgba(255,255,255,.018);
    vertical-align:middle;
}

.frequency-detail-row > td{
    padding:0;
    background:rgba(7,13,20,.72);
}

.frequency-detail-row .loot-detail-panel{
    padding:14px;
    border-top:1px solid rgba(101,217,255,.12);
}

.frequency-table .frequency-rank{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    min-height:26px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:6px;
    color:var(--tl-muted);
    background:rgba(255,255,255,.035);
    font-size:.72rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.frequency-loot-cell{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.frequency-loot-cell .loot-icon{
    flex:0 0 auto;
}

.frequency-loot-cell strong{
    min-width:0;
    color:#fff;
    font-size:.86rem;
    font-weight:850;
    line-height:1.24;
    overflow-wrap:anywhere;
}

.frequency-table .icon-bar-category{
    margin-top:0;
    white-space:normal;
}

.frequency-date-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:4px 7px;
    border:1px solid rgba(244,201,93,.2);
    border-radius:6px;
    color:#fff0bf;
    background:rgba(244,201,93,.07);
    font-size:.74rem;
    font-weight:850;
    line-height:1.1;
}

.frequency-count-cell{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
}

.frequency-count-cell strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    color:#fff;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.frequency-count-cell .icon-bar-track{
    display:none;
}

.frequency-detail-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:5px 8px;
    border:1px solid rgba(101,217,255,.18);
    border-radius:6px;
    color:#ccefff;
    background:rgba(101,217,255,.075);
    font-size:.72rem;
    font-weight:850;
}

.frequency-detail-button:hover,
.frequency-detail-button[aria-expanded="true"]{
    border-color:rgba(101,217,255,.38);
    color:#fff;
    background:rgba(101,217,255,.14);
}

.frequency-load-more{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px;
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
}

.frequency-load-button{
    min-height:34px;
}

.frequency-load-button[hidden]{
    display:none !important;
}

.frequency-load-status{
    color:var(--tl-muted);
    font-size:.78rem;
    font-weight:850;
    text-align:right;
}

.icon-bar-chart{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-items:start;
    max-width:100%;
    min-width:0;
    min-height:0;
    padding:10px 0 0;
}

.icon-bar-chart.vendor-bars{
    grid-template-columns:repeat(auto-fit,minmax(52px,1fr));
    align-items:end;
    min-height:260px;
    padding:12px 4px 2px;
}

.icon-bar{
    display:grid;
    grid-template-columns:34px auto minmax(0,1fr) auto 42px;
    grid-template-areas:
        "rank icon label category value"
        "rank icon track track track";
    gap:8px 10px;
    align-items:center;
    justify-items:stretch;
    min-width:0;
    min-height:62px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:linear-gradient(90deg,rgba(255,255,255,.044),rgba(255,255,255,.026));
}

.icon-bar:hover{
    border-color:rgba(244,201,93,.18);
    background:linear-gradient(90deg,rgba(244,201,93,.065),rgba(255,255,255,.03));
}

.icon-bar .frequency-rank{
    grid-area:rank;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.08);
    color:var(--tl-dim);
    font-size:.72rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.icon-bar-value{
    grid-area:value;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    min-height:28px;
    border:1px solid rgba(244,201,93,.2);
    border-radius:6px;
    color:#dce5ef;
    background:rgba(244,201,93,.07);
    font-size:.82rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.icon-bar-label{
    grid-area:label;
    min-width:0;
    color:#fff;
    font-size:.9rem;
    font-weight:850;
    line-height:1.25;
    white-space:normal;
}

.icon-bar .icon-bar-category{
    grid-area:category;
    justify-self:end;
    margin-top:0;
    white-space:nowrap;
}

.icon-bar .icon-toggle{
    grid-area:icon;
    justify-self:start;
}

.icon-bar-track{
    grid-area:track;
    position:relative;
    width:100%;
    height:6px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.07);
}

.icon-bar-fill{
    width:var(--bar-w,0%);
    height:100%;
    min-width:8px;
    border-radius:999px;
    background:linear-gradient(180deg,#f5b15a,var(--tl-accent));
}

.icon-bar-chart.vendor-bars .icon-bar{
    grid-template-columns:1fr;
    grid-template-areas:none;
    grid-template-rows:auto 1fr auto;
    gap:8px;
    align-items:end;
    justify-items:center;
    min-height:0;
    height:242px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}

.icon-bar-chart.vendor-bars .icon-bar-value,
.icon-bar-chart.vendor-bars .icon-toggle,
.icon-bar-chart.vendor-bars .icon-bar-track{
    grid-area:auto;
}

.icon-bar-chart.vendor-bars .icon-bar-value{
    min-width:0;
    min-height:0;
    border:0;
    border-radius:0;
    color:#dce5ef;
    background:transparent;
    font-size:.78rem;
}

.icon-bar-chart.vendor-bars .frequency-rank,
.icon-bar-chart.vendor-bars .icon-bar-category{
    display:none;
}

.icon-bar-chart.vendor-bars .icon-bar-label{
    display:none;
}

.icon-bar-chart.vendor-bars .icon-bar-track{
    height:178px;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
    border-bottom:1px solid rgba(255,255,255,.12);
    border-radius:0;
    background:transparent;
}

.icon-bar-chart.vendor-bars .icon-bar-fill{
    width:min(40px,84%);
    min-height:8px;
    border:1px solid rgba(242,138,34,.5);
    border-radius:4px 4px 1px 1px;
}

.icon-bar .loot-icon{
    width:38px;
    height:38px;
}

.icon-bar .loot-icon img{
    max-width:30px;
    max-height:30px;
}

.category-chart-wrap{
    display:grid;
    grid-template-columns:minmax(220px,.86fr) minmax(190px,.64fr);
    gap:16px;
    align-items:center;
    min-height:292px;
}

.frequency-stack .category-chart-wrap{
    grid-template-columns:minmax(320px,.78fr) minmax(320px,.72fr);
    min-height:320px;
}

.category-chart-box{
    position:relative;
    min-height:250px;
}

.frequency-stack .category-chart-box{
    min-height:300px;
}

.frequency-stack .category-percent-list{
    align-self:stretch;
    align-content:center;
}

.category-total{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:grid;
    gap:2px;
    text-align:center;
    pointer-events:none;
}

.category-total strong{
    color:#fff;
    font-size:1.28rem;
    line-height:1;
    font-variant-numeric:tabular-nums;
}

.category-total span{
    color:var(--tl-muted);
    font-size:.68rem;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
}

.category-percent-list,
.mission-pressure-list,
.cache-grid,
.history-groups{
    display:grid;
    gap:8px;
}

.category-percent-row,
.mission-pressure-row{
    display:grid;
    grid-template-columns:12px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:8px 9px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.mission-pressure-row{
    grid-template-columns:minmax(0,1fr) auto;
}

.category-dot{
    width:12px;
    height:12px;
    border-radius:3px;
}

.category-percent-name,
.mission-pressure-name{
    min-width:0;
    color:#e7edf4;
    font-weight:850;
    font-size:.84rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.mission-pressure-name{
    color:#fff;
}

.category-percent-meta,
.mission-pressure-meta{
    display:flex;
    align-items:baseline;
    gap:7px;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

.category-percent-meta strong,
.mission-pressure-meta strong{
    color:#fff;
    font-size:1rem;
}

.category-percent-meta span,
.mission-pressure-meta span{
    color:var(--tl-muted);
    font-size:.72rem;
    font-weight:850;
}

.mission-pressure-track{
    grid-column:1 / -1;
    height:7px;
    border-radius:99px;
    background:rgba(255,255,255,.07);
    overflow:hidden;
}

.mission-pressure-fill{
    display:block;
    height:100%;
    width:var(--w);
    border-radius:inherit;
    background:linear-gradient(90deg,var(--tl-accent),var(--tl-cyan));
}

.cache-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-bottom:14px;
}

.cache-card{
    padding:16px;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:rgba(255,255,255,.04);
}

.cache-card .cache-kicker{
    display:block;
    color:var(--tl-muted);
    font-size:.78rem;
    font-weight:850;
    text-transform:none;
    letter-spacing:0;
}

.cache-card strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:1.25rem;
}

.vendor-rank-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}

.vendor-rank-row{
    display:grid;
    grid-template-columns:34px auto minmax(0,1fr) auto;
    grid-template-areas:
        "rank icon copy count"
        "rank icon track track";
    gap:8px 10px;
    align-items:center;
    min-width:0;
    padding:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:linear-gradient(90deg,rgba(255,255,255,.042),rgba(255,255,255,.024));
}

.vendor-rank-row:hover{
    border-color:rgba(244,201,93,.18);
    background:linear-gradient(90deg,rgba(244,201,93,.065),rgba(255,255,255,.03));
}

.vendor-rank-index{
    grid-area:rank;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.08);
    color:var(--tl-dim);
    font-size:.72rem;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.vendor-rank-icon{
    grid-area:icon;
    justify-self:start;
}

.vendor-rank-copy{
    grid-area:copy;
    min-width:0;
}

.vendor-rank-copy strong,
.vendor-rank-copy small{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.vendor-rank-copy strong{
    color:#fff;
    font-size:.9rem;
    font-weight:850;
}

.vendor-rank-copy small{
    margin-top:3px;
    color:var(--tl-muted);
    font-size:.72rem;
    font-weight:800;
}

.vendor-rank-count{
    grid-area:count;
    justify-self:end;
    display:flex;
    align-items:baseline;
    gap:5px;
    padding:5px 8px;
    border:1px solid rgba(244,201,93,.2);
    border-radius:6px;
    color:#fff0bf;
    background:rgba(244,201,93,.07);
    white-space:nowrap;
}

.vendor-rank-count strong{
    color:#fff;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.vendor-rank-count span{
    color:var(--tl-muted);
    font-size:.72rem;
    font-weight:850;
}

.vendor-rank-track{
    grid-area:track;
    display:block;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.07);
}

.vendor-rank-fill{
    display:block;
    width:var(--w);
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--tl-accent),var(--tl-cyan));
}

.icon-cell{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.icon-cell span:last-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

.history-group{
    position:relative;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:rgba(8,9,11,.78);
    overflow:hidden;
}

.history-group:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:rgba(242,138,34,.58);
}

.history-group[hidden]{
    display:none;
}

.history-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:15px 16px 15px 20px;
    cursor:pointer;
    list-style:none;
    background:rgba(255,255,255,.035);
}

.history-summary::-webkit-details-marker{
    display:none;
}

.history-summary h3{
    margin:0;
    color:#fff;
    font-size:1.12rem;
}

.history-summary small{
    display:block;
    margin-top:4px;
    color:var(--tl-muted);
    font-weight:700;
}

.history-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

.history-meta span{
    border:1px solid rgba(255,255,255,.1);
    border-radius:6px;
    padding:6px 9px;
    color:#dce5ef;
    background:rgba(255,255,255,.04);
    font-size:.78rem;
    font-weight:800;
}

.history-group[open] .history-summary{
    border-bottom:1px solid rgba(255,255,255,.08);
}

.history-empty{
    display:none;
    margin:10px 0 0;
    color:var(--tl-muted);
}

.history-empty.is-visible{
    display:block;
}

.section-row.three.playlist-library{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.playlist-card{
    position:relative;
    overflow:hidden;
    padding:16px;
    border:1px solid var(--tl-border);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.playlist-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:rgba(255,255,255,.12);
}

.playlist-card.mapped{
    border-color:rgba(57,212,122,.24);
}

.playlist-card.mapped:before{
    background:var(--tl-green);
}

.playlist-card.legacy{
    border-color:rgba(174,184,194,.2);
    opacity:.88;
}

.playlist-card.legacy:before{
    background:#77838f;
}

.playlist-card.expected{
    border-color:rgba(101,217,255,.34);
}

.playlist-card.expected:before{
    background:var(--tl-cyan);
}

.playlist-card.not-yet{
    border-color:rgba(170,141,255,.3);
}

.playlist-card.not-yet:before,
.playlist-card.pending:before{
    background:var(--tl-purple);
}

.playlist-card.repeated{
    border-color:rgba(244,201,93,.36);
}

.playlist-card.repeated:before{
    background:var(--tl-yellow);
}

.playlist-card h3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 0 12px;
    color:#fff;
    font-size:1rem;
}

.playlist-card h3 span{
    color:#f5c28e;
    font-size:.75rem;
    border:1px solid rgba(255,255,255,.1);
    border-radius:99px;
    padding:4px 8px;
    background:rgba(8,9,11,.42);
}

.playlist-card.repeated h3 span{
    color:#f4d995;
    border-color:rgba(244,201,93,.24);
}

.mission-token-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
}

.mission-token{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:6px;
    background:rgba(8,9,11,.42);
    color:#f4f7fb;
    font-weight:900;
    font-size:.8rem;
    letter-spacing:0;
}

.playlist-missions{
    margin:12px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:6px;
    color:var(--tl-muted);
    font-size:.84rem;
}

.playlist-source-note{
    color:var(--tl-muted);
    line-height:1.55;
    margin:0;
}

.loot-metric-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
    gap:8px;
    margin-bottom:12px;
}

.loot-metric{
    padding:9px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:rgba(255,255,255,.035);
}

.loot-metric span{
    display:block;
    color:var(--tl-muted);
    font-size:.66rem;
    font-weight:850;
    text-transform:none;
    letter-spacing:0;
}

.loot-metric strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:.9rem;
    line-height:1.18;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
}

.loot-metric.wide{
    grid-column:span 2;
}

canvas{
    max-height:295px;
}

@media(max-width:1100px){
    .hero-panel{
        grid-template-columns:1fr;
    }

    .analytics-body{
        grid-template-columns:1fr;
    }

    .section-tabs{
        position:sticky;
        top:8px;
        display:flex;
        overflow-x:auto;
        gap:8px;
        margin:0 0 14px;
        padding:8px;
    }

    .section-tabs-label{
        display:none;
    }

    .section-tabs a{
        flex:0 0 auto;
        min-height:36px;
        padding:0 11px;
    }

    .section-tabs a:before{
        left:10px;
        right:10px;
        top:auto;
        bottom:5px;
        width:auto;
        height:2px;
    }

    .hero-kpi-grid,
    .intel-strip,
    .dashboard-grid,
    .freshness-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .cadence-track{
        grid-template-columns:repeat(6,1fr);
    }

    .section-row,
    .section-row.three,
    .section-row.three.playlist-library{
        grid-template-columns:1fr;
    }

    .filter-bar{
        grid-template-columns:1fr 1fr;
    }

    .category-chart-wrap,
    .frequency-stack .category-chart-wrap{
        grid-template-columns:1fr;
    }

    .loot-metric-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:680px){
    body{
        padding:12px;
    }

    .top-nav,
    .panel-title,
    .history-summary,
    .cadence-head{
        align-items:flex-start;
        grid-template-columns:1fr;
        flex-direction:column;
    }

    .hero-panel{
        padding:18px;
        min-height:auto;
    }

    .hero-panel h1{
        font-size:2.25rem;
    }

    .current-table-wrap{
        overflow:visible;
        border:0;
        background:transparent;
    }

    .current-loot-table,
    .current-loot-table tbody,
    .current-loot-table tr,
    .current-loot-table td{
        display:block;
        width:auto !important;
    }

    .current-loot-table thead{
        display:none;
    }

    .current-loot-table tbody{
        display:grid;
        gap:10px;
    }

    .current-loot-table tr{
        padding:10px;
        border:1px solid rgba(255,255,255,.09);
        border-radius:8px;
        background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.024));
    }

    .current-loot-table td{
        display:grid;
        grid-template-columns:92px minmax(0,1fr);
        gap:10px;
        align-items:center;
        padding:7px 0;
        border:0;
        background:transparent !important;
        text-align:left;
    }

    .current-loot-table td:before{
        content:attr(data-label);
        color:var(--tl-muted);
        font-size:.7rem;
        font-weight:850;
    }

    .current-loot-table .current-num-cell,
    .current-category-cell{
        text-align:left;
    }

    .current-loot-cell{
        width:100%;
        box-sizing:border-box;
    }

    .hero-kpi-grid,
    .intel-strip,
    .dashboard-grid,
    .freshness-grid,
    .cache-grid,
    .filter-bar{
        grid-template-columns:1fr;
    }

    .cadence-track{
        grid-template-columns:repeat(3,1fr);
    }

    .history-meta{
        justify-content:flex-start;
    }

    .vendor-cache-day-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .vendor-cache-items{
        grid-template-columns:1fr;
    }

    .vendor-rank-list{
        grid-template-columns:1fr;
    }

    .vendor-rank-row{
        grid-template-columns:30px auto minmax(0,1fr) auto;
    }

    .loot-metric-grid{
        grid-template-columns:1fr 1fr;
    }

    .icon-bar-chart{
        grid-template-columns:1fr;
    }

    .icon-bar{
        grid-template-columns:30px auto minmax(0,1fr) auto;
        grid-template-areas:
            "rank icon label value"
            "rank icon category category"
            "track track track track";
    }

    .icon-bar-category{
        justify-self:start;
    }

    .frequency-table-wrap{
        border:0;
        background:transparent;
    }

    .frequency-table,
    .frequency-table > tbody,
    .frequency-table > tbody > tr,
    .frequency-table > tbody > tr.frequency-row > td{
        display:block;
        width:auto !important;
    }

    .frequency-table > thead{
        display:none;
    }

    .frequency-table > tbody{
        display:grid;
        gap:10px;
    }

    .frequency-table > tbody > tr.frequency-row{
        padding:10px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:8px;
        background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.024));
    }

    .frequency-table > tbody > tr.frequency-detail-row{
        padding:0;
        border-color:rgba(101,217,255,.12);
        background:rgba(7,13,20,.72);
    }

    .frequency-table > tbody > tr.frequency-row > td{
        display:grid;
        grid-template-columns:96px minmax(0,1fr);
        gap:10px;
        align-items:center;
        text-align:left;
        padding:6px 0;
        border:0;
        background:transparent;
    }

    .frequency-table > tbody > tr.frequency-row > td:nth-child(1),
    .frequency-table > tbody > tr.frequency-row > td:nth-child(3),
    .frequency-table > tbody > tr.frequency-row > td:nth-child(4),
    .frequency-table > tbody > tr.frequency-row > td:nth-child(5),
    .frequency-table > tbody > tr.frequency-row > td:nth-child(6){
        text-align:left;
    }

    .frequency-table > tbody > tr.frequency-row .frequency-count-cell{
        justify-content:flex-start;
    }

    .frequency-table > tbody > .frequency-detail-row > td{
        display:block;
        padding:0;
    }

    .frequency-table > tbody > .frequency-detail-row > td:before{
        display:none;
    }

    .frequency-table > tbody > tr.frequency-row > td:before{
        content:attr(data-label);
        color:var(--tl-muted);
        font-size:.7rem;
        font-weight:850;
    }

    .frequency-table > tbody > tr.frequency-row > td[data-label="Loot"]{
        align-items:start;
    }

    .frequency-load-more{
        align-items:flex-start;
        flex-direction:column;
    }

    .frequency-load-status{
        text-align:left;
    }

    .icon-bar-chart.vendor-bars{
        grid-template-columns:repeat(4,minmax(46px,1fr));
    }

    .frequency-appearance-table th:first-child,
    .frequency-appearance-table td:first-child{
        width:92px;
    }

    .frequency-appearance-table th:last-child,
    .frequency-appearance-table td:last-child{
        width:76px;
    }

    .frequency-appearance-table th,
    .frequency-appearance-table td{
        padding:8px 7px;
    }

    .frequency-appearance-table .appearance-date{
        white-space:normal;
    }
}
