@import 'tailwindcss'; @theme { --animate-fade-in: fadeIn 280ms ease both; --animate-blink: blink 1.05s steps(1) infinite; --animate-ready-pulse: readyPulse 1.6s ease-in-out infinite; } @keyframes fadeIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } } @keyframes blink { 50% { opacity: 0; } } @keyframes readyPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.55; transform: scale(0.9); } } @utility frame-bg { background: linear-gradient( 135deg, #ffe98a, #ffffff 45%, #ffd21e ); } @utility frame-shadow { box-shadow: 0 0 0 1px rgba(255, 210, 30, 0.55), 0 25px 80px -10px rgba(170, 125, 0, 0.35), 0 6px 24px -4px rgba(255, 200, 30, 0.4), 0 0 80px rgba(255, 210, 30, 0.45); } @utility prose-trace { word-break: break-word; p { margin: 0.4em 0; } p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } h1, h2, h3, h4, h5, h6 { font-weight: 600; margin: 0.8em 0 0.3em; line-height: 1.3; } h1 { font-size: 1.25em; } h2 { font-size: 1.15em; } h3 { font-size: 1.05em; } h4, h5, h6 { font-size: 1em; } ul, ol { margin: 0.3em 0; padding-left: 1.4em; } ul { list-style: disc; } ol { list-style: decimal; } li { margin: 0.15em 0; } li > p { margin: 0.15em 0; } code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; font-size: 0.92em; background: #f5f5f2; border: 1px solid #eeeae0; border-radius: 3px; padding: 0 0.3em; } pre { background: #f5f5f2; border: 1px solid #eeeae0; border-radius: 4px; padding: 0.6em 0.8em; overflow-x: auto; margin: 0.5em 0; line-height: 1.5; } pre code { background: transparent; border: 0; padding: 0; font-size: 0.92em; } blockquote { border-left: 3px solid #e5e5e0; padding-left: 0.8em; color: #5f5f5c; margin: 0.5em 0; } a { color: #8b5cf6; text-decoration: underline; } a:hover { text-decoration: none; } hr { border: 0; border-top: 1px solid #eeeae0; margin: 0.8em 0; } table { border-collapse: collapse; margin: 0.5em 0; font-size: 0.95em; } th, td { border: 1px solid #eeeae0; padding: 0.3em 0.6em; text-align: left; } th { background: #faf9f5; font-weight: 600; } img { max-width: 100%; height: auto; border-radius: 4px; } .code-block { position: relative; } .code-block > pre { margin: 0.5em 0; } .copy-btn { position: absolute; top: 6px; right: 6px; padding: 2px 8px; font-size: 11px; line-height: 1.4; background: #fff; border: 1px solid #e5e5e0; border-radius: 4px; color: #6a6a66; cursor: pointer; opacity: 0; transition: opacity 0.15s, color 0.15s, background 0.15s, border-color 0.15s; font-family: inherit; } .code-block:hover .copy-btn, .copy-btn:focus-visible, .copy-btn.copied { opacity: 1; } .copy-btn:hover { background: #faf9f5; color: #222220; } .copy-btn.copied { color: #0f5a2a; border-color: #bbf7d0; background: #f0fdf4; } } @utility prose-thinking { code, pre { background: #faf5ff; border-color: #e9d5ff; } blockquote { border-left-color: #e9d5ff; color: #7e22ce; } } @utility page-bg { background: radial-gradient(at 20% 20%, #fff4b8 0%, transparent 55%), radial-gradient(at 80% 85%, #ffbb1a 0%, transparent 60%), #ffd21e; } @utility thin-scrollbar { scrollbar-width: thin; scrollbar-color: #d0d0ca transparent; &::-webkit-scrollbar { width: 6px; height: 6px; } &::-webkit-scrollbar-track { background: transparent; } &::-webkit-scrollbar-thumb { background-color: #d0d0ca; border-radius: 3px; } &::-webkit-scrollbar-thumb:hover { background-color: #a8a8a0; } }