Files
Recordly/src/index.css
T
webadderall 53c7aa7e77 feat(updater): Windows native notifications and toast window fixes
- Use native OS Notification on Windows instead of transparent overlay
  toast window (transparent BrowserWindows are unreliable on Windows)
- Set app user model ID on Windows for proper notification grouping
- Make toast window opaque with solid background on Windows
- Only set transparent body background on macOS for update-toast window
- Refactor UpdateToastWindow to inline styles for Windows compatibility
- Add primaryAction-based button rendering in toast UI
- Add polling fallback for toast payload in UpdateToastWindow
- Add global CSS variables for brand accent color
2026-03-29 19:30:02 +11:00

200 lines
4.9 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
html,
body,
#root {
width: 100%;
height: 100%;
margin: 0;
}
:root {
--brand-accent: #2563eb;
--brand-accent-rgb: 37, 99, 235;
--background: 0 0% 100%;
--foreground: 20 14.3% 4.1%;
--card: 0 0% 100%;
--card-foreground: 20 14.3% 4.1%;
--popover: 0 0% 100%;
--popover-foreground: 20 14.3% 4.1%;
--primary: 221 83% 53%;
--primary-foreground: 210 40% 98%;
--secondary: 60 4.8% 95.9%;
--secondary-foreground: 24 9.8% 10%;
--muted: 60 4.8% 95.9%;
--muted-foreground: 25 5.3% 44.7%;
--accent: 214 100% 97%;
--accent-foreground: 221 83% 40%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 60 9.1% 97.8%;
--border: 20 5.9% 90%;
--input: 20 5.9% 90%;
--ring: 221 83% 53%;
--chart-1: 12 76% 61%;
--chart-2: 173 58% 39%;
--chart-3: 197 37% 24%;
--chart-4: 43 74% 66%;
--chart-5: 27 87% 67%;
--radius: 0.5rem;
}
.dark {
--background: 20 14.3% 4.1%;
--foreground: 60 9.1% 97.8%;
--card: 20 14.3% 4.1%;
--card-foreground: 60 9.1% 97.8%;
--popover: 20 14.3% 4.1%;
--popover-foreground: 60 9.1% 97.8%;
--primary: 221 83% 53%;
--primary-foreground: 210 40% 98%;
--secondary: 12 6.5% 15.1%;
--secondary-foreground: 60 9.1% 97.8%;
--muted: 12 6.5% 15.1%;
--muted-foreground: 24 5.4% 63.9%;
--accent: 217 33% 17%;
--accent-foreground: 210 40% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 60 9.1% 97.8%;
--border: 12 6.5% 15.1%;
--input: 12 6.5% 15.1%;
--ring: 221 83% 53%;
--chart-1: 220 70% 50%;
--chart-2: 160 60% 45%;
--chart-3: 30 80% 55%;
--chart-4: 280 65% 60%;
--chart-5: 340 75% 55%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
-webkit-user-select: none;
user-select: none;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
button,
input,
textarea,
select {
font: inherit;
}
[data-platform="macos"] body {
font-family: "SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, sans-serif;
}
[data-platform="macos"] body .font-mono,
[data-platform="macos"] body kbd {
font-family: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif;
}
}
/* Smooth timeline cursor animations */
@layer utilities {
.timeline-cursor-smooth {
will-change: transform;
transition: left 33ms linear, right 33ms linear;
}
.indeterminate-progress {
position: relative;
overflow: hidden;
isolation: isolate;
}
.indeterminate-progress::before {
content: "";
position: absolute;
inset: 0;
width: 38%;
min-width: 3.5rem;
border-radius: inherit;
background: linear-gradient(90deg, rgba(37, 99, 235, 0) 0%, rgba(37, 99, 235, 0.35) 18%, rgba(96, 165, 250, 0.92) 52%, rgba(37, 99, 235, 0.3) 82%, rgba(37, 99, 235, 0) 100%);
animation: indeterminate-progress 1.15s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
/* Hidden scrollbar - still scrollable but invisible */
.custom-scrollbar {
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE/Edge */
}
.custom-scrollbar::-webkit-scrollbar {
display: none; /* Chrome, Safari, Opera */
}
/* Smooth playback scrubber */
input[type="range"] {
-webkit-appearance: none;
appearance: none;
}
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
border-radius: 50%;
background: #fff;
cursor: pointer;
box-shadow: 0 2px 8px rgba(255,255,255,0.32);
border: 2px solid #fff;
transition: all 0.08s ease-out;
}
input[type="range"]::-webkit-slider-thumb:hover {
background: #fff;
transform: scale(1.15);
box-shadow: 0 3px 10px rgba(255,255,255,0.5);
border-color: var(--brand-accent);
}
input[type="range"]::-webkit-slider-thumb:active {
transform: scale(1.25);
}
input[type="range"]::-moz-range-thumb {
width: 16px;
height: 16px;
border-radius: 50%;
background: #fff;
cursor: pointer;
border: 2px solid #fff;
box-shadow: 0 2px 8px rgba(255,255,255,0.32);
transition: all 0.08s ease-out;
}
input[type="range"]::-moz-range-thumb:hover {
background: #fff;
transform: scale(1.15);
box-shadow: 0 3px 10px rgba(255,255,255,0.5);
border-color: var(--brand-accent);
}
input[type="range"]::-moz-range-thumb:active {
transform: scale(1.25);
}
}
@keyframes indeterminate-progress {
0% {
transform: translateX(-150%);
}
60% {
transform: translateX(270%);
}
100% {
transform: translateX(270%);
}
}