@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"); @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { color-scheme: light; } html, body { background: #f5f0e6; color: #1e3a8a; font-family: "Inter", "Söhne", system-ui, -apple-system, sans-serif; font-feature-settings: "ss01", "cv11"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } /* Paper grain — fibrous noise, warm brown tint, multiply */ body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; background-image: url("data:image/svg+xml;utf8,"); mix-blend-mode: multiply; opacity: 0.6; } #root { position: relative; z-index: 1; min-height: 100vh; } h1, h2, h3, h4 { font-family: "Fraunces", "GT Sectra", Georgia, serif; font-weight: 500; letter-spacing: -0.01em; } code, pre, .mono { font-family: "JetBrains Mono", "Berkeley Mono", ui-monospace, monospace; } /* Selection: modern blue ink on paper */ ::selection { background: #1d4ed8; color: #f5f0e6; } } @layer utilities { /* Thin ruled line — evokes paper stationery */ .rule { border-bottom: 1px solid #dcd3be; } .rule-strong { border-bottom: 1px solid #1e3a8a; } /* Envelope: subtle diagonal flap hint used on panels */ .paper-panel { background: #f5f0e6; border: 1px solid #dcd3be; box-shadow: 0 1px 0 rgba(26, 23, 20, 0.04), 0 1px 3px rgba(26, 23, 20, 0.06); } .paper-panel-deep { background: #ebe4d4; border: 1px solid #dcd3be; } }