233 lines · 5.1 KB · CSS
RawDownload
@import "tailwindcss"; @source "../**/*.astro"; @theme {  --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;  --font-display: "Instrument Serif", Georgia, serif;  --font-mono: "JetBrains Mono", ui-monospace, monospace;   --color-surface: #0c0f0e;  --color-surface-raised: #141917;  --color-surface-overlay: #1a1f1d;   --color-ink: #e4e8e6;  --color-ink-muted: #8a9490;  --color-ink-faint: #4a5552;   --color-teal: #3dd8b5;  --color-teal-dim: #2aaa8e;  --color-teal-faint: rgba(61, 216, 181, 0.08);  --color-teal-glow: rgba(61, 216, 181, 0.15);   --color-rule: rgba(255, 255, 255, 0.06);} @media (prefers-color-scheme: light) {  :root {    --color-surface: #fafbfb;    --color-surface-raised: #f0f2f1;    --color-surface-overlay: #e5e8e7;     --color-ink: #1a1f1d;    --color-ink-muted: #5a6560;    --color-ink-faint: #9ca5a0;     --color-teal: #0d9b7a;    --color-teal-dim: #0a8068;    --color-teal-faint: rgba(13, 155, 122, 0.06);    --color-teal-glow: rgba(13, 155, 122, 0.1);     --color-rule: rgba(0, 0, 0, 0.08);  }} html {  scroll-behavior: smooth;} body {  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");  background-repeat: repeat;  background-size: 256px 256px;  color-scheme: light dark;} @media (prefers-color-scheme: light) {  body {    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.015'/%3E%3C/svg%3E");  }} /* Staggered fade-in for page load */@keyframes rise {  from {    opacity: 0;    transform: translateY(24px);  }  to {    opacity: 1;    transform: translateY(0);  }} .rise {  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;}.rise-d1 {  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;}.rise-d2 {  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.16s both;}.rise-d3 {  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.24s both;}.rise-d4 {  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.32s both;} /* Typing cursor blink for code block */@keyframes blink {  0%,  100% {    opacity: 1;  }  50% {    opacity: 0;  }} .cursor-blink {  animation: blink 1s step-end infinite;} /* Smooth scroll-triggered reveals via IntersectionObserver */.reveal {  opacity: 0;  transform: translateY(20px);  transition:    opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);}.reveal.visible {  opacity: 1;  transform: translateY(0);} /* Thin scrollbar for catalog */.scrollbar-thin {  scrollbar-width: thin;  scrollbar-color: rgba(255, 255, 255, 0.08) transparent;}.scrollbar-thin::-webkit-scrollbar {  width: 4px;}.scrollbar-thin::-webkit-scrollbar-track {  background: transparent;}.scrollbar-thin::-webkit-scrollbar-thumb {  background: rgba(255, 255, 255, 0.1);  border-radius: 2px;} @media (prefers-color-scheme: light) {  .scrollbar-thin {    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;  }  .scrollbar-thin::-webkit-scrollbar-thumb {    background: rgba(0, 0, 0, 0.12);  }} .legal-prose {  color: color-mix(in srgb, var(--color-ink) 85%, transparent);  line-height: 1.75;  font-size: 15.5px;} .legal-prose > :first-child {  margin-top: 0;} .legal-prose > :first-child::first-letter {  font-family: var(--font-display);  font-size: 3.4em;  float: left;  line-height: 0.85;  padding: 0.32rem 0.6rem 0 0;  color: var(--color-teal);} .legal-prose h2 {  position: relative;  margin-top: 3rem;  margin-bottom: 0.85rem;  padding-top: 1.6rem;  color: var(--color-ink);  font-family: var(--font-sans);  font-size: 1.05rem;  font-weight: 600;  line-height: 1.4;  letter-spacing: -0.005em;  border-top: 1px solid var(--color-rule);} .legal-prose > h2:first-of-type {  margin-top: 2.4rem;} .legal-prose h3 {  margin-top: 1.6rem;  margin-bottom: 0.5rem;  color: var(--color-ink);  font-size: 0.95rem;  font-weight: 600;} .legal-prose p,.legal-prose ul {  margin: 0.85rem 0;} .legal-prose ul {  list-style: none;  padding-left: 0;} .legal-prose li {  position: relative;  margin: 0.5rem 0;  padding-left: 1.25rem;} .legal-prose li::before {  content: "";  position: absolute;  left: 0.15rem;  top: 0.72rem;  width: 5px;  height: 5px;  border-radius: 50%;  background: var(--color-teal);  opacity: 0.7;} .legal-prose a {  color: var(--color-teal);  text-decoration: underline;  text-decoration-color: color-mix(in srgb, var(--color-teal) 35%, transparent);  text-underline-offset: 3px;  transition: color 0.15s ease, text-decoration-color 0.15s ease;} .legal-prose a:hover {  color: var(--color-teal-dim);  text-decoration-color: var(--color-teal-dim);} .legal-prose strong {  color: var(--color-ink);  font-weight: 600;}