mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-29 17:25:54 +00:00
- 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
200 lines
4.9 KiB
CSS
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%);
|
|
}
|
|
}
|