chore: commit all pending changes

This commit is contained in:
Smittix
2026-02-23 16:51:32 +00:00
parent 94b358f686
commit 7241dbed35
19 changed files with 946 additions and 308 deletions

View File

@@ -898,66 +898,76 @@ body {
inset: 0;
pointer-events: none;
overflow: hidden;
z-index: 650;
--target-x: 50%;
--target-y: 50%;
z-index: 1200;
--crosshair-x-start: 100%;
--crosshair-y-start: 100%;
--crosshair-x-end: 50%;
--crosshair-y-end: 50%;
--crosshair-duration: 1500ms;
}
.map-crosshair-line {
position: absolute;
opacity: 0;
background: var(--accent-cyan);
box-shadow: 0 0 10px var(--accent-cyan);
box-shadow: none;
will-change: transform, opacity;
}
.map-crosshair-vertical {
top: 0;
bottom: 0;
width: 2px;
right: 0;
transform: translateX(0);
width: 1px;
left: 0;
transform: translateX(var(--crosshair-x-start));
}
.map-crosshair-horizontal {
left: 0;
right: 0;
height: 2px;
bottom: 0;
transform: translateY(0);
height: 1px;
top: 0;
transform: translateY(var(--crosshair-y-start));
}
.map-crosshair-overlay.active .map-crosshair-vertical {
animation: mapCrosshairSweepX 620ms cubic-bezier(0.2, 0.85, 0.28, 1) forwards;
animation: mapCrosshairSweepX var(--crosshair-duration) cubic-bezier(0.2, 0.85, 0.28, 1) forwards;
}
.map-crosshair-overlay.active .map-crosshair-horizontal {
animation: mapCrosshairSweepY 620ms cubic-bezier(0.2, 0.85, 0.28, 1) forwards;
animation: mapCrosshairSweepY var(--crosshair-duration) cubic-bezier(0.2, 0.85, 0.28, 1) forwards;
}
@keyframes mapCrosshairSweepX {
0% {
transform: translateX(0);
opacity: 0.95;
transform: translateX(var(--crosshair-x-start));
opacity: 0;
}
75% {
opacity: 0.95;
12% {
opacity: 1;
}
85% {
opacity: 1;
}
100% {
transform: translateX(calc(var(--target-x) - 100%));
transform: translateX(var(--crosshair-x-end));
opacity: 0;
}
}
@keyframes mapCrosshairSweepY {
0% {
transform: translateY(0);
opacity: 0.95;
transform: translateY(var(--crosshair-y-start));
opacity: 0;
}
75% {
opacity: 0.95;
12% {
opacity: 1;
}
85% {
opacity: 1;
}
100% {
transform: translateY(calc(var(--target-y) - 100%));
transform: translateY(var(--crosshair-y-end));
opacity: 0;
}
}
@@ -965,7 +975,7 @@ body {
@media (prefers-reduced-motion: reduce) {
.map-crosshair-overlay.active .map-crosshair-vertical,
.map-crosshair-overlay.active .map-crosshair-horizontal {
animation-duration: 120ms;
animation-duration: 220ms;
}
}

View File

@@ -479,10 +479,6 @@
filter: sepia(0.35) hue-rotate(185deg) saturate(1.75) brightness(1.06) contrast(1.05);
}
.tile-layer-flir {
filter: grayscale(1) sepia(1) hue-rotate(-18deg) saturate(4.85) brightness(0.96) contrast(1.34);
}
/* Global Leaflet map theme: cyber overlay */
.leaflet-container.map-theme-cyber {
position: relative;
@@ -531,55 +527,6 @@ html.map-cyber-enabled .leaflet-container::after {
background-size: 52px 52px, 52px 52px;
}
/* Global Leaflet map theme: FLIR thermal overlay */
.leaflet-container.map-theme-flir {
position: relative;
background: #090602;
isolation: isolate;
}
.leaflet-container.map-theme-flir .leaflet-tile-pane {
filter: grayscale(1) sepia(1) hue-rotate(-18deg) saturate(4.85) brightness(0.96) contrast(1.34);
opacity: 1;
}
/* Hard global fallback: enforce FLIR tint on all Leaflet tile images */
html.map-flir-enabled .leaflet-container .leaflet-tile {
filter: grayscale(1) sepia(1) hue-rotate(-18deg) saturate(4.85) brightness(0.96) contrast(1.34) !important;
}
/* Hard global fallback: thermal glow + scanline/grid overlay */
html.map-flir-enabled .leaflet-container {
position: relative;
isolation: isolate;
}
html.map-flir-enabled .leaflet-container::before {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
z-index: 620;
background:
radial-gradient(115% 90% at 50% 40%, rgba(255, 132, 28, 0.22), rgba(255, 132, 28, 0) 63%),
linear-gradient(180deg, rgba(14, 229, 255, 0.08) 0%, rgba(255, 96, 18, 0.15) 58%, rgba(255, 233, 128, 0.11) 100%);
}
html.map-flir-enabled .leaflet-container::after {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
z-index: 621;
opacity: 0.32;
mix-blend-mode: screen;
background-image:
repeating-linear-gradient(0deg, rgba(255, 188, 92, 0.08) 0 1px, transparent 1px 3px),
linear-gradient(90deg, rgba(255, 141, 66, 0.12) 1px, transparent 1px),
linear-gradient(rgba(0, 240, 255, 0.07) 1px, transparent 1px);
background-size: 100% 3px, 68px 68px, 68px 68px;
}
/* Responsive */
@media (max-width: 960px) {
.settings-tabs {