/* Hunt collections: six ways to lay out the same rows, values and controls (Hunts and the layouts page).
 * Redesign rules: no per-hunt colours or orb marks; a hunt's stage is plain text and the hunt being
 * tracked carries a single accent dot. Money is signed and coloured only by result. */
.hunt-collection{container:hunt-collection/inline-size;min-width:0}
.hunt-collection .hunt-index-table{display:table;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;font-variant-numeric:tabular-nums}
.hunt-collection .hunt-index-table tbody{display:table-row-group}
.hunt-collection .hunt-index-table tbody tr{position:relative;display:table-row}
.hunt-collection .hunt-index-table tbody tr.sr-only{position:absolute;display:block;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hunt-collection .hunt-index-table th{height:38px;padding:0 16px;font-size:11.5px;font-weight:500;color:var(--gx-muted);white-space:nowrap}
.hunt-collection .hunt-index-table th:first-child{width:40%}
.hunt-collection .hunt-index-table th:nth-child(2){width:17%}
.hunt-collection .hunt-index-table th:nth-child(3){width:12%}
.hunt-collection .hunt-index-table th:last-child{width:96px;text-align:right}
.hunt-collection .hunt-index-table td{height:68px;padding:10px 16px;border-top:1px solid var(--gx-hair);vertical-align:middle;font-size:13.5px;color:var(--gx-ink);transition:background .15s ease}
.hunt-collection .hunt-index-table thead{position:static}
.hunt-collection .hunt-result-mark,.hunt-collection .hunt-feature-label{display:none}
.hunt-collection .hunt-title-cell{display:flex;align-items:center;gap:12px;min-width:0}
.hunt-collection .hunt-title-copy{min-width:0}
.hunt-collection .hunt-title-link{display:block;max-width:100%;padding:2px 0;font-size:14px;font-weight:600;letter-spacing:-.15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}
.hunt-collection .hunt-row-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:0;min-width:0;margin-top:1px;font-size:12px;line-height:1.45;color:var(--gx-muted)}
.hunt-collection .hunt-row-meta time{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hunt-collection .hunt-row-stage{flex:none;white-space:nowrap}
.hunt-collection .hunt-row-meta time+.hunt-row-stage::before{content:'·';margin:0 7px;color:var(--gx-faint)}
.hunt-collection .hunt-row-stage[data-stage=opening]{color:var(--gx-accent)}
.hunt-collection .hunt-row-tracking{display:inline-flex;align-items:center;gap:6px;flex:none;margin-left:12px;color:var(--gx-accent);font-weight:500}
.hunt-collection .hunt-row-tracking::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.hunt-collection .hunt-row-tracking[data-tracking=false]{display:none}
.hunt-collection .hunt-cell-value{display:block;font-size:13.5px;font-weight:500;line-height:1.4}
.hunt-collection .hunt-index-table td>small{display:block;margin-top:1px;font-size:11.5px;line-height:1.4;color:var(--gx-muted);white-space:nowrap}
.hunt-collection .hunt-profit[data-result=profit]{color:var(--gx-profit)}
.hunt-collection .hunt-profit[data-result=loss]{color:var(--gx-loss)}
.hunt-collection .hunt-mobile-label{display:none}
.hunt-collection .hunt-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}
.hunt-collection .hunt-delete:hover:not(:disabled){background:color-mix(in srgb,var(--gx-loss) 10%,transparent);color:var(--gx-loss)}
.hunt-collection .hunt-skeleton{display:block;width:var(--skeleton-width,70%);max-width:100%;height:9px;border-radius:5px;background:var(--gx-soft)}
.hunt-collection .hunt-skeleton+.hunt-skeleton{width:46%;height:7px;margin-top:9px}
.hunt-collection .hunt-skeleton-row .hunt-title-copy{display:flex;flex:1;flex-direction:column;justify-content:center;min-height:41px}
.hunt-collection .hunt-skeleton-row [data-hunt-cell=actions] .hunt-skeleton{width:28px;margin-left:auto}
@media (hover:hover){
 .hunt-collection .hunt-title-link:hover{color:var(--gx-accent)}
 .hunt-collection .hunt-index-table tbody tr:not(.hunt-skeleton-row):hover td{background:color-mix(in srgb,var(--gx-soft) 75%,transparent)}
}

/* 1. Quiet ledger: one white group, aligned figures, a hairline per row. */
.hunt-collection[data-hunt-layout=quiet-ledger] .hunt-index-table{padding:2px 6px 6px;border-radius:var(--gx-r-group);background:var(--gx-surface);box-shadow:0 0 0 1px var(--gx-stroke)}
.hunt-collection[data-hunt-layout=quiet-ledger] :is(th,td):not(:first-child):not(:last-child){text-align:right}

/* 2. Compact sheets: each hunt its own small white sheet. */
.hunt-collection[data-hunt-layout=compact-sheets] .hunt-index-table{border-spacing:0 8px;margin-top:-8px}
.hunt-collection[data-hunt-layout=compact-sheets] th{height:24px}
.hunt-collection[data-hunt-layout=compact-sheets] td{height:72px;border-top:0;background:var(--gx-surface);box-shadow:0 1px 0 var(--gx-stroke),0 -1px 0 var(--gx-stroke)}
.hunt-collection[data-hunt-layout=compact-sheets] td:first-child{border-radius:var(--gx-r-group) 0 0 var(--gx-r-group);box-shadow:-1px 0 0 var(--gx-stroke),0 1px 0 var(--gx-stroke),0 -1px 0 var(--gx-stroke)}
.hunt-collection[data-hunt-layout=compact-sheets] td:last-child{border-radius:0 var(--gx-r-group) var(--gx-r-group) 0;box-shadow:1px 0 0 var(--gx-stroke),0 1px 0 var(--gx-stroke),0 -1px 0 var(--gx-stroke)}

/* The remaining layouts rearrange the same cells. */
.hunt-collection:is([data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray],[data-hunt-layout=date-journal],[data-hunt-layout=active-desk]) .hunt-index-table{display:block}
.hunt-collection:is([data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray],[data-hunt-layout=date-journal],[data-hunt-layout=active-desk]) .hunt-index-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hunt-collection:is([data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray],[data-hunt-layout=date-journal],[data-hunt-layout=active-desk]) .hunt-index-table td{display:block;height:auto;padding:0;border:0;background:transparent}
.hunt-collection:is([data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray],[data-hunt-layout=date-journal],[data-hunt-layout=active-desk]) .hunt-mobile-label{display:block;margin-bottom:3px;font-size:11.5px;color:var(--gx-muted)}
.hunt-collection:is([data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray],[data-hunt-layout=date-journal],[data-hunt-layout=active-desk]) tbody tr:hover td{background:transparent!important}

/* 3. Hunt tiles: identity above three figures. */
.hunt-collection[data-hunt-layout=hunt-tiles] tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hunt-collection[data-hunt-layout=hunt-tiles] tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;min-height:160px;padding:18px;border-radius:var(--gx-r-card);background:var(--gx-surface);box-shadow:0 0 0 1px var(--gx-stroke);transition:box-shadow .2s ease}
.hunt-collection[data-hunt-layout=hunt-tiles] tbody tr:not(.hunt-skeleton-row):hover{box-shadow:0 0 0 1px var(--gx-rule)}
.hunt-collection[data-hunt-layout=hunt-tiles] [data-hunt-cell=title]{grid-column:1/-1;padding-right:76px!important}
.hunt-collection[data-hunt-layout=hunt-tiles] .hunt-title-link{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px}
.hunt-collection[data-hunt-layout=hunt-tiles] [data-hunt-cell=actions]{position:absolute;top:10px;right:10px}
.hunt-collection[data-hunt-layout=hunt-tiles] .hunt-cell-value{font-size:16px;font-weight:600;letter-spacing:-.3px}

/* 4. Glass tray: one continuous surface; names first, compact figures. */
.hunt-collection[data-hunt-layout=glass-tray] tbody{display:block;padding:4px 6px;border-radius:var(--gx-r-group);background:var(--gx-surface);box-shadow:0 0 0 1px var(--gx-stroke)}
.hunt-collection[data-hunt-layout=glass-tray] tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 124px 100px 134px 88px;align-items:center;gap:16px;min-height:84px;padding:14px 12px;border-radius:var(--gx-r-row);transition:background .15s ease}
.hunt-collection[data-hunt-layout=glass-tray] tbody tr+tr{box-shadow:0 -1px 0 var(--gx-hair)}
.hunt-collection[data-hunt-layout=glass-tray] tbody tr:not(.hunt-skeleton-row):hover{background:color-mix(in srgb,var(--gx-soft) 75%,transparent)}
.hunt-collection[data-hunt-layout=glass-tray] .hunt-title-link{font-size:15px}
.hunt-collection[data-hunt-layout=glass-tray] [data-hunt-cell=cost]>small{display:none}

/* 5. Date journal: hunts grouped by the day they began, along a hairline. */
.hunt-collection[data-hunt-layout=date-journal] tbody{display:block}
.hunt-collection[data-hunt-layout=date-journal] tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 120px 96px 132px 88px;align-items:center;gap:16px;min-height:84px;padding:16px 0 16px 132px;border-bottom:1px solid var(--gx-hair)}
.hunt-collection[data-hunt-layout=date-journal] tbody tr::after{content:'';position:absolute;left:109px;top:0;bottom:0;width:1px;background:var(--gx-hair)}
.hunt-collection[data-hunt-layout=date-journal] tbody tr[data-hunt-group-start=true]::before{content:attr(data-hunt-date);position:absolute;top:26px;left:0;width:96px;font-size:12px;font-weight:500;color:var(--gx-muted);font-variant-numeric:tabular-nums}
.hunt-collection[data-hunt-layout=date-journal] .hunt-row-meta time{display:none}
.hunt-collection[data-hunt-layout=date-journal] [data-hunt-cell=cost]>small{display:none}
.hunt-collection[data-hunt-layout=date-journal] .hunt-skeleton-row:is(:first-child,:nth-child(2))::before{content:'';position:absolute;top:30px;left:0;width:64px;height:8px;border-radius:4px;background:var(--gx-soft)}

/* 6. Active desk: the tracked hunt gets its own card (with the page's one light while it tracks). */
.hunt-collection[data-hunt-layout=active-desk] tbody{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr);gap:0 28px}
.hunt-collection[data-hunt-layout=active-desk] tbody tr{display:grid;grid-column:2;grid-template-columns:minmax(0,1fr) 92px 70px 104px 88px;align-items:center;gap:12px;min-height:80px;padding:12px 0;border-bottom:1px solid var(--gx-hair)}
.hunt-collection[data-hunt-layout=active-desk] tbody tr[data-featured=true]{grid-column:1;grid-row:1/span 3;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:22px 14px;min-height:212px;padding:20px;border:0;isolation:isolate;border-radius:var(--gx-r-card)}
.hunt-collection[data-hunt-layout=active-desk] tbody tr[data-featured=true]::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--gx-surface);box-shadow:0 0 0 1px var(--gx-stroke)}
.hunt-collection[data-hunt-layout=active-desk] tbody tr[data-featured=true]:has([data-tracking=true])::after{content:'';position:absolute;inset:-2px;z-index:-2;border-radius:inherit;background:conic-gradient(from -30deg,#ffb86b,#ff6b8b,#c86bff,#7a8dff,#5ad1ff,#ffb86b);filter:blur(16px);opacity:var(--gx-glow);pointer-events:none}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] [data-hunt-cell=title]{grid-column:1/-1}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] .hunt-feature-label{display:block;margin-bottom:4px;font-size:12px;color:var(--gx-muted)}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] .hunt-title-link{font-size:19px;letter-spacing:-.45px;white-space:normal}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] .hunt-cell-value{font-size:20px;font-weight:600;letter-spacing:-.45px}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] [data-hunt-cell=actions]{grid-column:1/-1;justify-self:end;margin:-14px -6px -10px 0}
.hunt-collection[data-hunt-layout=active-desk] tr:not([data-featured=true]) .hunt-title-link{font-size:13.5px}
.hunt-collection[data-hunt-layout=active-desk] tr:not([data-featured=true]) .hunt-cell-value{font-size:12.5px}
.hunt-collection[data-hunt-layout=active-desk] tr:not([data-featured=true]) .hunt-mobile-label{font-size:11px;margin-bottom:2px}

@container hunt-collection (max-width:1040px){
 .hunt-collection[data-hunt-layout=hunt-tiles] tbody{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hunt-collection[data-hunt-layout=glass-tray] tbody tr{grid-template-columns:minmax(0,1fr) 96px 70px 110px 88px;gap:12px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr{grid-template-columns:minmax(0,1fr) 96px 70px 110px 88px;padding-left:112px;gap:12px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr::after{left:91px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr[data-hunt-group-start=true]::before{width:80px}
 .hunt-collection[data-hunt-layout=active-desk] tbody{grid-template-columns:minmax(0,1fr);gap:12px}
 .hunt-collection[data-hunt-layout=active-desk] tbody tr{grid-column:1;grid-template-columns:minmax(0,1fr) 112px 80px 120px 88px}
 .hunt-collection[data-hunt-layout=active-desk] tbody tr[data-featured=true]{grid-row:auto;min-height:0}
}
@container hunt-collection (max-width:850px){
 .hunt-collection .hunt-row-tracking .hunt-tracking-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
/* A narrow collection (phones, or the layouts page on a small screen) stacks each hunt. */
@container hunt-collection (max-width:600px){
 .hunt-collection .hunt-index-table,.hunt-collection .hunt-index-table tbody{display:block}
 .hunt-collection .hunt-index-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .hunt-collection .hunt-index-table tbody tr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:12px;min-height:0;padding:16px 0}
 .hunt-collection .hunt-index-table td{display:block;height:auto;padding:0;border:0;background:transparent!important}
 .hunt-collection .hunt-index-table td:first-child{grid-column:1/-1;padding:0 84px 0 0}
 .hunt-collection .hunt-index-table td:last-child{position:absolute;right:0;top:10px}
 .hunt-collection .hunt-index-table td:nth-child(4){text-align:left}
 .hunt-collection .hunt-mobile-label{display:block;margin-bottom:3px;font-size:11px;color:var(--gx-muted)}
 .hunt-collection:is([data-hunt-layout=quiet-ledger],[data-hunt-layout=glass-tray]) .hunt-index-table tbody tr{padding:14px 12px}
 .hunt-collection:is([data-hunt-layout=quiet-ledger],[data-hunt-layout=glass-tray]) .hunt-index-table tbody tr+tr{box-shadow:0 -1px 0 var(--gx-hair)}
 .hunt-collection:is([data-hunt-layout=quiet-ledger],[data-hunt-layout=glass-tray]) .hunt-index-table td:last-child{right:6px}
 .hunt-collection[data-hunt-layout=quiet-ledger] :is(th,td):not(:first-child):not(:last-child){text-align:left}
 .hunt-collection[data-hunt-layout=compact-sheets] .hunt-index-table{margin:0;border-spacing:0}
 .hunt-collection[data-hunt-layout=compact-sheets] tbody{display:grid;gap:10px}
 .hunt-collection[data-hunt-layout=compact-sheets] tbody tr{padding:16px;border-radius:var(--gx-r-group);background:var(--gx-surface);box-shadow:0 0 0 1px var(--gx-stroke)}
 .hunt-collection[data-hunt-layout=compact-sheets] td{box-shadow:none!important}
 .hunt-collection[data-hunt-layout=compact-sheets] td:last-child{right:8px}
 .hunt-collection[data-hunt-layout=hunt-tiles] tbody{grid-template-columns:minmax(0,1fr)}
 .hunt-collection[data-hunt-layout=hunt-tiles] tbody tr{padding:18px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr{padding:14px 0 16px 22px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr::after{left:0}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr[data-hunt-group-start=true]{padding-top:38px}
 .hunt-collection[data-hunt-layout=date-journal] tbody tr[data-hunt-group-start=true]::before{top:12px;left:22px;width:auto}
 .hunt-collection[data-hunt-layout=active-desk] tbody tr[data-featured=true]{padding:18px;margin-bottom:6px}
 .hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] [data-hunt-cell=title]{padding-right:56px}
 .hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] [data-hunt-cell=actions]{position:absolute;top:10px;right:8px;margin:0}
}
.hunt-collection:is([data-hunt-layout=date-journal],[data-hunt-layout=hunt-tiles],[data-hunt-layout=glass-tray]) .hunt-skeleton-row [data-hunt-cell=title]{min-height:45px}
.hunt-collection[data-hunt-layout=active-desk] tr[data-featured=true] [data-hunt-cell=title]{min-height:70px}
