/**
 *
 * Find Waldo extension for the phpBB Forum Software package.
 *
 * @copyright (c) SpIdErPiGgY <https://spiderpiggy.com>
 * @copyright “Where’s Waldo” / “Where’s Wally” is a trademark of its respective owners.
 * @license GNU General Public License, version 2 (GPL-2.0)
 *
 */
 
.waldo-theme-standard {
	--waldo-card:#fff; --waldo-alt:#f4f8fb; --waldo-text:#283747; --waldo-muted:#687887;
	--waldo-border:#c9d8e3; --waldo-accent:#3b89b8; --waldo-soft:#e7f1f7;
	--waldo-header:#4b6591; --waldo-score:#f8edcf; --waldo-score-border:#d9bd7d;
	--waldo-score-text:#60491b; --waldo-shadow:0 2px 8px rgba(24,48,68,.08);
}
.waldo-theme-christmas {
	--waldo-card:#fffdf9; --waldo-alt:#f7fbf8; --waldo-text:#26382f; --waldo-muted:#68786f;
	--waldo-border:#bed4c6; --waldo-accent:#33835b; --waldo-soft:#e5f2e9;
	--waldo-header:#357457; --waldo-score:#fae6e4; --waldo-score-border:#daa7a2;
	--waldo-score-text:#7a302b; --waldo-shadow:0 2px 8px rgba(38,86,59,.09);
}
.waldo-theme-halloween {
	--waldo-card:#fffaf5; --waldo-alt:#faf3eb; --waldo-text:#3e3026; --waldo-muted:#7d6b5c;
	--waldo-border:#dcc8b5; --waldo-accent:#b86b2e; --waldo-soft:#f7e8d9;
	--waldo-header:#77513e; --waldo-score:#eee5f3; --waldo-score-border:#c6afd2;
	--waldo-score-text:#553665; --waldo-shadow:0 2px 8px rgba(91,53,26,.09);
}
.waldo-theme-easter {
	--waldo-card:#fffafd; --waldo-alt:#f8fbff; --waldo-text:#493e55; --waldo-muted:#766b80;
	--waldo-border:#dfc8d6; --waldo-accent:#c96797; --waldo-soft:#f8e8f0;
	--waldo-header:#80648e; --waldo-score:#eef5df; --waldo-score-border:#bfd096;
	--waldo-score-text:#405421; --waldo-shadow:0 2px 8px rgba(82,57,94,.08);
}
body.darkmode .waldo-theme-standard,
body.dark-mode .waldo-theme-standard,
body[data-theme="dark"] .waldo-theme-standard,
html[data-theme="dark"] .waldo-theme-standard {
	--waldo-card:#20262e; --waldo-alt:#252c35; --waldo-text:#dce3ea; --waldo-muted:#a8b3be;
	--waldo-border:#3b4652; --waldo-accent:#579bc5; --waldo-soft:#293b47;
	--waldo-header:#34475f; --waldo-score:#3b3527; --waldo-score-border:#66593c;
	--waldo-score-text:#ead8a6; --waldo-shadow:0 2px 8px rgba(0,0,0,.2);
}

/* Waldo on forum pages */
.waldo-hunt { position:fixed; right:20px; bottom:20px; z-index:9999; display:flex; flex-direction:column; align-items:center; gap:5px; width:140px; text-align:center; }
.waldo-image-link { display:flex; align-items:flex-end; justify-content:center; width:140px; filter:drop-shadow(0 5px 7px rgba(0,0,0,.22)); }
.waldo-image-link:focus-visible { outline:3px solid #3b89b8; outline-offset:3px; }
.waldo-image-link img { display:block; width:auto; height:auto; max-width:140px; max-height:180px; object-fit:contain; }
.waldo-image-link[aria-busy="true"] { pointer-events:none; opacity:.65; }
.waldo-click-hint {
	display:inline-block; margin:0; padding:4px 8px; border:1px solid rgba(0,0,0,.13);
	border-radius:5px; background:rgba(255,255,255,.94); box-shadow:0 2px 5px rgba(0,0,0,.12);
	color:#293645; font-size:11px; font-weight:700;
}

/* Compact result notice */
.waldo-found-notice {
	position:fixed; top:12px; left:50%; z-index:10000; display:flex; align-items:center; gap:9px;
	max-width:min(520px,calc(100vw - 24px)); padding:9px 13px 9px 9px;
	transform:translate(-50%,-18px); border:1px solid var(--waldo-border); border-radius:8px;
	background:var(--waldo-card); box-shadow:0 6px 18px rgba(0,0,0,.18); color:var(--waldo-text);
	opacity:0; pointer-events:none; transition:opacity .2s ease,transform .2s ease;
}
.waldo-found-notice.is-visible { transform:translate(-50%,0); opacity:1; }
.waldo-found-notice-icon {
	display:inline-flex; align-items:center; justify-content:center; width:27px; height:27px;
	flex:0 0 27px; border-radius:50%; background:#39845d; color:#fff;
}
.waldo-found-notice-error .waldo-found-notice-icon { background:#b33b36; }
.waldo-found-notice-text { font-size:13px; font-weight:600; line-height:1.35; }
.waldo-catch-form { display:none; }

/* Leaderboard */
.waldo-page { margin-top:8px; color:var(--waldo-text); }
.waldo-page .waldo-page-panel,
.waldo-page .waldo-page-panel > .inner { padding:0; background:transparent; box-shadow:none; }
.waldo-page-hero,.waldo-page-info-item,.waldo-chart,.waldo-chart-row,.waldo-board-wrap-modern {
	box-sizing:border-box; border:1px solid var(--waldo-border); background:var(--waldo-card);
}
.waldo-page-hero,.waldo-chart,.waldo-board-wrap-modern { border-radius:8px; box-shadow:var(--waldo-shadow); }
.waldo-page-hero {
	display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,420px); gap:18px;
	align-items:center; margin-bottom:12px; padding:16px 18px;
}
.waldo-page-title { margin:0 0 7px; color:var(--waldo-text); font-size:clamp(22px,2vw,28px); font-weight:500; line-height:1.2; }
.waldo-page-intro,.waldo-chart-note,.waldo-page-toolbar-note { margin:0; color:var(--waldo-muted); font-size:13px; line-height:1.45; }
.waldo-page-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.waldo-page-summary-card { min-width:0; padding:10px 12px; border:1px solid var(--waldo-border); border-radius:6px; background:var(--waldo-alt); }
.waldo-page-summary-label,.waldo-page-info-label {
	display:block; margin-bottom:3px; color:var(--waldo-muted); font-size:10px; font-weight:700;
	letter-spacing:.025em; line-height:1.25; text-transform:uppercase;
}
.waldo-page-summary-value { display:block; color:var(--waldo-text); font-size:17px; line-height:1.2; }
.waldo-page-info { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.waldo-page-info-item { min-width:0; padding:8px 10px; border-radius:6px; background:var(--waldo-alt); }
.waldo-page-info-item-status { grid-column:1/-1; border-left:3px solid var(--waldo-accent); }
.waldo-page-info-value { display:block; color:var(--waldo-text); font-size:12px; font-weight:600; line-height:1.35; }

/* Top-ten graph */
.waldo-chart { margin-bottom:12px; padding:14px; }
.waldo-chart-head { margin-bottom:10px; }
.waldo-chart-title { margin:0 0 3px; color:var(--waldo-text); font-size:14px; font-weight:700; }
.waldo-chart-list { display:flex; flex-direction:column; gap:6px; margin:0; padding:0; list-style:none; }
.waldo-chart-row { display:flex; flex-direction:column; gap:6px; padding:8px 10px; border-radius:6px; background:var(--waldo-alt); }
.waldo-chart-labels { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:9px; align-items:center; }
.waldo-chart-user,.waldo-user-wrap { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.waldo-chart-total { font-weight:700; }
.waldo-chart-track { height:7px; overflow:hidden; border-radius:4px; background:var(--waldo-soft); }
.waldo-chart-bar { display:block; height:100%; min-width:6px; border-radius:4px; background:var(--waldo-accent); }
.waldo-chart-rank,.waldo-rank-pill,.waldo-stat-pill {
	display:inline-flex; align-items:center; justify-content:center; min-width:48px; box-sizing:border-box;
	padding:4px 9px; border:1px solid var(--waldo-border); border-radius:5px;
	background:var(--waldo-soft); color:var(--waldo-text); font-size:13px; font-weight:700; line-height:1.2;
}
.waldo-chart-rank,.waldo-rank-pill { border-color:var(--waldo-accent); background:var(--waldo-accent); color:#fff; }
.waldo-stat-pill-score { border-color:var(--waldo-score-border); background:var(--waldo-score); color:var(--waldo-score-text); }

/* Toolbar and pagination */
.waldo-page-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.waldo-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px; }
.waldo-pagination-bottom { margin-top:10px; }
.waldo-pagination-link,.waldo-pagination-ellipsis {
	display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:28px;
	box-sizing:border-box; padding:0 8px; border:1px solid var(--waldo-border); border-radius:4px;
	background:var(--waldo-card); color:var(--waldo-text)!important; font-size:12px; font-weight:700; text-decoration:none;
}
.waldo-pagination-link:hover,.waldo-pagination-link:focus,.waldo-pagination-link.is-current {
	border-color:var(--waldo-accent); background:var(--waldo-accent); color:#fff!important; text-decoration:none;
}
.waldo-pagination-ellipsis { border-color:transparent; background:transparent; }

/* Score table */
.waldo-board-wrap-modern { overflow-x:auto; }
.waldo-board-wrap-modern > .inner { min-width:700px; padding:0; }
.waldo-board-table-modern { width:100%; min-width:700px; margin:0; border-collapse:collapse; }
.waldo-board-table-modern thead th {
	padding:8px 10px!important; border:0!important; background:var(--waldo-header)!important;
	color:#fff!important; font-size:10px!important; font-weight:700; letter-spacing:.035em;
	text-transform:uppercase; white-space:nowrap;
}
.waldo-board-table-modern td {
	padding:9px 10px; border-top:1px solid var(--waldo-border); background:var(--waldo-card)!important;
	color:var(--waldo-text); vertical-align:middle;
}
.waldo-board-table-modern tbody tr:nth-child(even) td { background:var(--waldo-alt)!important; }
.waldo-board-table-modern tbody tr:hover td { background:var(--waldo-soft)!important; }
.waldo-cell-rank,.waldo-cell-score,.waldo-cell-total { text-align:center; white-space:nowrap; }
.waldo-cell-last,.waldo-last-wrap { white-space:nowrap; }
.waldo-rank-1 td:first-child { box-shadow:inset 3px 0 #d2a23d; }
.waldo-rank-2 td:first-child { box-shadow:inset 3px 0 #9ca7b1; }
.waldo-rank-3 td:first-child { box-shadow:inset 3px 0 #b8784d; }

/* UCP */
.waldo-ucp-preview { display:block; width:140px; height:180px; max-width:100%; object-fit:contain; }
.waldo-ucp-current-note { margin-top:6px; color:var(--waldo-muted); }

@media (max-width:900px) {
	.waldo-page-hero { grid-template-columns:1fr; }
	.waldo-page-info { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
	.waldo-hunt { right:10px; bottom:10px; width:100px; }
	.waldo-image-link { width:100px; }
	.waldo-image-link img { max-width:100px; max-height:130px; }
	.waldo-page-hero,.waldo-chart { padding:12px; }
	.waldo-page-title { font-size:21px; }
	.waldo-board-wrap-modern,.waldo-board-wrap-modern > .inner,.waldo-board-table-modern,
	.waldo-board-table-modern tbody,.waldo-board-table-modern tr,.waldo-board-table-modern td {
		display:block; width:100%; min-width:0; box-sizing:border-box;
	}
	.waldo-board-table-modern thead { display:none; }
	.waldo-board-table-modern tr { margin:8px; width:calc(100% - 16px); overflow:hidden; border:1px solid var(--waldo-border); border-radius:7px; }
	.waldo-board-table-modern td {
		display:grid; grid-template-columns:minmax(90px,36%) minmax(0,1fr); align-items:center;
		gap:8px; padding:8px 10px; text-align:left; white-space:normal;
	}
	.waldo-board-table-modern td::before { content:attr(data-label) ":"; color:var(--waldo-muted); font-size:11px; font-weight:700; }
	.waldo-last-wrap { white-space:normal; }
}
@media (max-width:520px) {
	.waldo-page-summary,.waldo-page-info { grid-template-columns:1fr; }
	.waldo-page-summary-card { display:flex; align-items:center; justify-content:space-between; gap:10px; }
	.waldo-page-summary-label { margin:0; }
	.waldo-chart-labels { grid-template-columns:44px minmax(0,1fr) auto; }
}
