Files
Trackeep/landing/papra.css
T
Tomas Dvorak b083dac3f0 feat(frontend): enhance API credentials system and build configuration
Add real API support in demo mode with credential checking, implement build-time version injection from package.json, and refactor update checking with 24-hour caching. Migrate landing page from Vue to Astro with comprehensive UI components including Hero, Features, Benefits, and Tech Stack sections. Update CI/CD workflow with expanded cache paths and security scanner version pinned.
2026-02-10 16:25:57 +01:00

224 lines
5.4 KiB
CSS

:root {
--background: 0 0% 100%;
--foreground: 0 0% 3.9%;
--card: 0 0% 98%;
--card-foreground: 0 0% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 0 0% 3.9%;
--primary: 16 99% 65%;
--primary-foreground: 0 0% 3.9%;
--secondary: 0 0% 96.1%;
--secondary-foreground: 0 0% 9%;
--muted: 0 0% 96.1%;
--muted-foreground: 0 0% 45.1%;
--accent: 0 0% 96.1%;
--accent-foreground: 0 0% 9%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 0 0% 98%;
--warning: 31 98% 50%;
--warning-foreground: 0 0% 98%;
--border: 0 0% 89.8%;
--input: 0 0% 89.8%;
--ring: 0 0% 3.9%;
--radius: .5rem
}
[data-kb-theme=dark] {
--background: 240 4% 10%;
--foreground: 0 0% 98%;
--card: 240 4% 8%;
--card-foreground: 0 0% 98%;
--popover: 240 4% 8%;
--popover-foreground: 0 0% 98%;
--primary: 77 100% 74%;
--primary-foreground: 0 0% 9%;
--secondary: 0 0% 14.9%;
--secondary-foreground: 0 0% 98%;
--muted: 0 0% 14.9%;
--muted-foreground: 0 0% 63.9%;
--accent: 0 0% 14.9%;
--accent-foreground: 0 0% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 0 0% 98%;
--warning: 31 98% 50%;
--warning-foreground: 0 0% 98%;
--border: 0 0% 14.9%;
--input: 0 0% 14.9%;
--ring: 0 0% 83.1%
}
* {
--un-border-opacity: 1;
border-color: hsl(var(--border) / var(--un-border-opacity))
}
body {
--un-bg-opacity: 1;
background-color: hsl(var(--background) / var(--un-bg-opacity));
--un-text-opacity: 1;
color: hsl(var(--foreground) / var(--un-text-opacity))
}
@layer components {
.prose {
margin-left: auto;
margin-right: auto;
width: 100%;
letter-spacing: .025em;
line-height: 1.75em
}
@media (min-width: 1024px) {
.prose {
font-size:1.125rem;
line-height: 1.75rem
}
}
.prose>p,.prose>blockquote>p {
margin-top: 1rem;
margin-bottom: 1rem
}
.prose>blockquote {
padding-left: 2rem;
border-left: 1px solid
}
.prose>hr {
margin-top: 2rem;
margin-bottom: 2rem
}
.prose>img {
margin-top: 1rem;
margin-bottom: 1rem
}
.prose strong {
--un-text-opacity: 1;
color: rgb(255 255 255 / var(--un-text-opacity));
font-weight: 500
}
.prose ul {
margin-top: 1rem;
margin-bottom: 1rem;
padding-left: 2rem
}
.prose ol {
margin-top: 1rem;
margin-bottom: 1rem;
list-style-type: decimal;
list-style-position: inside;
padding-left: 1rem
}
.prose ol : :marker {
display:inline-block;
--un-text-opacity: 1;
color: hsl(var(--muted-foreground) / var(--un-text-opacity));
font-weight: 700;
font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace
}
.prose li>p: first-child {
display:inline-block
}
.prose li {
margin-top: .125rem;
margin-bottom: .125rem
}
.prose :where(a) {
--un-text-opacity: 1 !important;
color: hsl(var(--primary) / var(--un-text-opacity))!important;
text-decoration-line: underline;
text-underline-offset: 3px;
transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
transition-timing-function: cubic-bezier(.4,0,.2,1);
transition-duration: .15s
}
.prose :where(a): hover {
--un-text-opacity:1 !important;
color: hsl(var(--foreground) / var(--un-text-opacity))!important
}
.prose :where(code): not(:where(pre,h1,h2,h3,h4,h5,h6) code) {
margin-left:.125rem!important;
margin-right: .125rem!important;
display: inline-block;
border-radius: calc(var(--radius) - 2px)!important;
--un-bg-opacity: 1 !important;
background-color: hsl(var(--muted) / var(--un-bg-opacity))!important;
padding-left: .5rem;
padding-right: .5rem;
vertical-align: baseline;
font-size: .875rem!important;
line-height: 1.25rem!important;
line-height: 1.5rem!important
}
.prose :where(:not(pre)>code): not(:where(.not-prose,.not-prose *)):before,.prose :where(:not(pre)>code):not(:where(.not-prose,.not-prose *)):after {
content:""!important
}
.prose>p a>code {
color: inherit;
text-decoration: inherit
}
.prose .expressive-code {
margin-top: 1.5rem;
margin-bottom: 1.5rem
}
.prose table {
width: 100%;
--un-border-spacing-x: 0;
--un-border-spacing-y: 0;
border-spacing: var(--un-border-spacing-x) var(--un-border-spacing-y);
overflow: auto;
font-size: .875rem;
line-height: 1.25rem
}
@media (min-width: 640px) {
.prose table {
font-size:1rem;
line-height: 1.5rem
}
}
.prose tr {
width: 100%
}
.prose :is(th,td) {
border-bottom-width: 1px;
padding: .5rem 1rem;
vertical-align: baseline
}
.prose :is(th,td): first-child {
padding-left:0
}
.prose :is(th,td): last-child {
padding-right:0
}
.prose th {
--un-text-opacity: 1;
color: rgb(255 255 255 / var(--un-text-opacity));
font-weight: 500
}
.prose th: not([align]) {
text-align:start
}
}