Code/Tweak/TweakPanel.razor.scss
// Tweak panel styling. 3 grouped font sizes (13 / 11 / 10), no letter-spacing (glyph-corruption
// budget). Borders via border-width + border-color only (never border-style, which aborts the whole
// stylesheet). No blurred box-shadow on rounded elements (it renders unrounded); 0-blur rings only.
// Root is pointer-events:none; only the card takes clicks, so the cursor stays usable over the panel
// while the rest of the scene ignores it. Instructional text is bright, never dim gray.
//
// Slider line: minus stepper · draggable fill track · plus stepper. .tp-track position:relative +
// .tp-fill position:absolute so dragging fills the bar WITHOUT growing the whole row, and the fill is
// pointer-events:none so the drag position stays measured against the track.
//
// The close control is a 42px square (owner ruling: 34px is too small to hit). There is no ESC badge
// anywhere: the × is the close affordance.

TweakPanel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;

	.tp-card {
		position: absolute;
		top: 80px;
		right: 24px;
		width: 300px;
		flex-direction: column;
		pointer-events: all;
		background-color: rgba( 14, 16, 20, 0.94 );
		border-width: 1px;
		border-color: rgba( 90, 220, 255, 0.55 );
		border-radius: 8px;
		padding: 12px;
		font-family: "Roboto Mono", monospace;
		color: #eaf6ff;
	}

	.tp-hdr {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 6px;
	}
	.tp-title {
		font-size: 13px;
		color: #7fe6ff;
	}
	.tp-hr {
		flex-direction: row;
		align-items: center;
	}
	.tp-key {
		font-size: 10px;
		color: #ffffff;
		font-weight: 700;
		background-color: rgba( 90, 220, 255, 0.14 );
		border-radius: 4px;
		padding: 2px 6px;
		margin-right: 6px;
	}
	.tp-x {
		font-size: 13px;
		color: #ffffff;
		width: 42px;
		height: 42px;
		justify-content: center;
		align-items: center;
		border-radius: 6px;
		border-width: 1px;
		border-color: rgba( 90, 220, 255, 0.45 );
		background-color: rgba( 255, 255, 255, 0.06 );
		pointer-events: all;
		transition: all 0.1s ease;
		&:hover {
			background-color: rgba( 90, 220, 255, 0.28 );
			border-color: rgba( 90, 220, 255, 0.9 );
		}
	}

	.tp-empty {
		font-size: 11px;
		color: #ffffff;
		padding: 6px 0px;
	}

	.tp-tabs {
		flex-direction: row;
		flex-wrap: wrap;
		margin-bottom: 8px;
	}
	.tp-tab {
		font-size: 10px;
		color: #eaf6ff;
		background-color: rgba( 255, 255, 255, 0.06 );
		border-radius: 4px;
		padding: 4px 7px;
		margin-right: 4px;
		margin-bottom: 4px;
		transition: all 0.1s ease;
		&:hover { background-color: rgba( 255, 255, 255, 0.12 ); }
		&.on {
			background-color: rgba( 90, 220, 255, 0.22 );
			color: #ffffff;
			border-width: 1px;
			border-color: rgba( 90, 220, 255, 0.7 );
		}
	}

	.tp-sub {
		flex-direction: column;
		margin-bottom: 8px;
	}
	.tp-item { font-size: 11px; color: #ffffff; }
	.tp-note { font-size: 10px; color: #cfe0ea; }

	.tp-steprow {
		flex-direction: row;
		align-items: center;
		margin-bottom: 8px;
	}
	.tp-sl { font-size: 10px; color: #cfe0ea; margin-right: 6px; }
	.tp-seg {
		font-size: 10px;
		color: #eaf6ff;
		background-color: rgba( 255, 255, 255, 0.06 );
		border-radius: 4px;
		padding: 3px 7px;
		margin-right: 4px;
		transition: all 0.1s ease;
		&:hover { background-color: rgba( 255, 255, 255, 0.12 ); }
		&.on { background-color: rgba( 90, 220, 255, 0.22 ); color: #ffffff; }
	}

	.tp-row {
		flex-direction: column;
		margin-bottom: 6px;
		&.hdr {
			margin-top: 6px;
			border-top-width: 1px;
			border-top-color: rgba( 255, 255, 255, 0.1 );
			padding-top: 8px;
		}
	}
	.tp-rlab {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 4px;
	}
	.tp-rl { font-size: 11px; color: #eaf6ff; }
	.tp-rv {
		font-size: 11px;
		color: #ffffff;
		justify-content: center;
		text-align: center;
	}

	.tp-slider {
		flex-direction: row;
		align-items: center;
	}
	.tp-track {
		position: relative;
		flex-grow: 1;
		height: 14px;
		margin-left: 6px;
		margin-right: 6px;
		border-radius: 99px;
		background-color: rgba( 255, 255, 255, 0.10 );
		pointer-events: all;
		&:hover { background-color: rgba( 255, 255, 255, 0.18 ); }
		.tp-fill {
			position: absolute;
			left: 0px;
			height: 100%;
			border-radius: 99px;
			background-image: linear-gradient( 90deg, #3AC4DE, #7fe6ff );
			pointer-events: none;
		}
	}
	.tp-stp {
		font-size: 13px;
		color: #eaf6ff;
		background-color: rgba( 255, 255, 255, 0.08 );
		border-radius: 4px;
		width: 24px;
		height: 22px;
		justify-content: center;
		align-items: center;
		transition: all 0.1s ease;
		&:hover { background-color: rgba( 90, 220, 255, 0.28 ); color: #ffffff; }
	}

	.tp-btns {
		flex-direction: row;
		margin-top: 8px;
	}
	.tp-btn {
		font-size: 10px;
		color: #eaf6ff;
		background-color: rgba( 255, 255, 255, 0.08 );
		border-radius: 4px;
		padding: 7px 8px;
		margin-right: 5px;
		justify-content: center;
		align-items: center;
		flex-grow: 1;
		transition: all 0.1s ease;
		&:hover { background-color: rgba( 90, 220, 255, 0.24 ); color: #ffffff; }
		&.wide { margin-right: 0px; }
	}
}