
/* Dark theme for datapoints page. Does not import site-wide styles. */
:root{
	--page-width:900px;
	/* Neutral, high-contrast dark palette (no blue/purple tint) */
	--bg: #0d0d0d; /* page background */
	--panel: #141414; /* content panel */
	--muted: #9e9e9e; /* subdued grey for secondary text */
	--text: #f5f5f5; /* primary text (high contrast) */
	--accent: #ffb74d; /* warm accent for headings/controls */
	/* Rotator stands out with a console-style look (black background, neon green text) */
	--rotator-bg: #000000;
	--rotator-text: #33ff77;
	--border: rgba(255,255,255,0.08);
}
.html,body{height:100%;margin:0;font-family:Segoe UI, Roboto, Arial, sans-serif;background:linear-gradient(180deg,#071021 0%, #0d0d0d 100%);color:var(--text)}
.topbar{background:transparent;border-bottom:1px solid var(--border)}
.topbar-inner{max-width:var(--page-width);margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px}
.logo a{display:inline-block}
.site-logo{height:28px;display:block;filter:brightness(1.2)}
.page-title{font-size:1rem;margin:0;color:var(--text)}
.container{display:flex;justify-content:center;padding:22px 12px}
.page{width:var(--page-width);background:var(--panel);border-radius:6px;box-shadow:0 8px 30px rgba(2,6,15,0.6);padding:20px;border:1px solid var(--border)}
.marketing{min-height:60px;margin-bottom:12px;color:var(--muted)}
/* Marketing section layout */
.marketing-inner{display:flex;gap:18px;align-items:center}
.marketing-left{flex:1 1 50%;min-width:260px}
.marketing-right{flex:1 1 50%;display:flex;justify-content:flex-end;align-items:center}
.marketing-title{font-size:1.8rem;margin:0 0 8px 0;color:var(--text);font-weight:700}
.marketing-body{margin:0;color:var(--text);line-height:1.45;text-align:left}

.device-dataset-subheading{margin:22px 0 8px 0;color:var(--text);font-size:1rem;font-weight:700}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px 0}
.tab{background:transparent;border:1px solid var(--border);color:var(--muted);padding:8px 10px;border-radius:4px;cursor:pointer;transition:all 160ms ease}
.tab.active{background:linear-gradient(90deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));color:var(--text);border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,0.35)}
.tab:hover{border-color:var(--accent);color:var(--text)}
.tab:focus{outline:2px solid rgba(46,163,255,0.12)}
.tab-contents .tab-content{display:none}
.tab-content .intro{margin:8px 0 12px 0;color:var(--muted)}
.table-wrap h3{margin:14px 0 8px 0;font-size:0.95rem;color:var(--accent);font-weight:700}
.dp-table{width:100%;border-collapse:collapse;margin-bottom:12px}
.dp-table th,.dp-table td{border:1px solid var(--border);padding:10px 12px;text-align:left;font-size:0.95rem;color:var(--text)}
.dp-table th{background:transparent;color:var(--text);font-weight:700}
.dp-table tbody tr:nth-child(even){background:rgba(255,255,255,0.02)}
.site-footer{max-width:100%;padding:18px 12px;color:var(--muted)}
.footer-inner{max-width:var(--page-width);margin:0 auto}

/* Responsive tweaks */
@media (max-width:960px){:root{--page-width:92vw}.topbar-inner{padding:8px}.page{padding:14px}}

/* Search styles */
.search-controls{margin:8px 0 12px 0}
.search-input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:rgba(255,255,255,0.02);color:var(--text);transition:box-shadow 160ms ease, border-color 160ms ease}
.search-input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,183,77,0.12);border-color:var(--accent)}
.search-results{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.dp-card{background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));border:1px solid var(--border);padding:12px;border-radius:6px}
.dp-card h4{margin:0 0 6px 0;color:var(--text);font-size:1rem}
.dp-card .meta{font-size:0.9rem;color:var(--muted)}

/* Filter row */
.filter-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.filter-label{color:var(--muted);font-size:0.9rem;margin-right:6px}
.filter-select{background:#ffffff;border:1px solid #cfcfcf;color:#000;padding:8px;border-radius:6px}
.filter-select option{color:#000}

/* Rotator / flip display */
.rotator-panel{background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));border:1px solid var(--border);padding:14px;border-radius:8px;min-width:240px;display:flex;flex-direction:column;align-items:stretch}
.rotator-label{font-size:0.9rem;color:var(--muted);margin-bottom:8px;display:flex;width:100%;justify-content:space-between;align-items:center}
.rotator{perspective:800px;min-height:48px;display:flex;align-items:center;justify-content:center;width:320px;max-width:100%}
.rotator .flip{display:block;padding:8px 14px;background:var(--rotator-bg);color:var(--rotator-text);font-weight:800;border-radius:6px;backface-visibility:hidden;transform-origin:center;transition:transform 360ms cubic-bezier(.2,.8,.2,1),opacity 240ms;font-size:1.05rem;font-family:Consolas, 'Courier New', Menlo, Monaco, monospace;letter-spacing:0.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* Swap display order: category name left, datapoint ID right.
   Use flex order and sizing so long category names can truncate. */
.rotator-label .rotator-cat{
	order:1;
	flex:1 1 auto;
	text-align:left;
	color:var(--accent);
	font-weight:700;
	padding-right:8px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.rotator-label .rotator-id{
	order:2;
	flex:0 0 auto;
	text-align:right;
	color:var(--muted);
	font-weight:600;
}

/* Buttons, links and small UI accents */
.tab, .filter-select, .filter-label { --btn-accent: var(--accent) }
a, a:link, a:visited { color: var(--accent); text-decoration: none }
a:hover { text-decoration: underline }

/* Table header accent underline for clarity */
.dp-table th{border-bottom:2px solid rgba(255,183,77,0.07)}
.rotator .flip.flip-out{transform:rotateX(90deg);opacity:0}
.rotator .flip.flip-in{transform:rotateX(0deg);opacity:1}

@media (max-width:760px){
	.marketing-inner{flex-direction:column;align-items:flex-start}
	.marketing-right{width:100%;justify-content:flex-start}
	.rotator-panel{width:100%}
}




