Spaces:
Running
Running
| /* ======================================== | |
| FMN-GPT Website Styles | |
| Warm, earthy color palette | |
| ======================================== */ | |
| :root { | |
| /* Primary Colors - Warm Earth Tones */ | |
| --color-bg: #faf8f5; | |
| --color-bg-alt: #f5f0e8; | |
| --color-bg-dark: #1a1815; | |
| --color-bg-dark-alt: #252220; | |
| /* Accent Colors - Warm Orange/Coral */ | |
| --color-accent: #e85d3b; | |
| --color-accent-light: #ff8a6b; | |
| --color-accent-dark: #c44a2d; | |
| /* Secondary Accent - Warm Gold */ | |
| --color-secondary: #d4a853; | |
| --color-secondary-light: #e8c87a; | |
| /* Text Colors */ | |
| --color-text: #2d2a26; | |
| --color-text-light: #6b6560; | |
| --color-text-muted: #9a948d; | |
| /* Neutrals */ | |
| --color-border: #e5e0d8; | |
| --color-border-dark: #3d3a36; | |
| /* Gradients */ | |
| --gradient-warm: linear-gradient(135deg, #e85d3b 0%, #d4a853 100%); | |
| --gradient-dark: linear-gradient(135deg, #1a1815 0%, #2d2a26 100%); | |
| /* Shadows */ | |
| --shadow-sm: 0 2px 8px rgba(45, 42, 38, 0.08); | |
| --shadow-md: 0 4px 20px rgba(45, 42, 38, 0.12); | |
| --shadow-lg: 0 8px 40px rgba(45, 42, 38, 0.16); | |
| /* Typography */ | |
| --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |
| --font-mono: 'JetBrains Mono', 'Fira Code', monospace; | |
| /* Spacing */ | |
| --container-max: 1200px; | |
| --section-padding: 100px; | |
| } | |
| /* ======================================== | |
| Reset & Base | |
| ======================================== */ | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| font-size: 16px; | |
| } | |
| html, body { | |
| height: 100%; | |
| } | |
| body { | |
| font-family: var(--font-sans); | |
| background-color: var(--color-bg); | |
| color: var(--color-text); | |
| line-height: 1.7; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| display: flex; | |
| flex-direction: column; | |
| min-height: 100vh; | |
| } | |
| main { | |
| flex: 1; | |
| } | |
| .container { | |
| max-width: var(--container-max); | |
| margin: 0 auto; | |
| padding: 0 24px; | |
| } | |
| /* ======================================== | |
| Typography | |
| ======================================== */ | |
| h1, h2, h3, h4, h5, h6 { | |
| font-weight: 600; | |
| line-height: 1.2; | |
| color: var(--color-text); | |
| } | |
| h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); } | |
| h2 { font-size: clamp(2rem, 4vw, 3rem); } | |
| h3 { font-size: clamp(1.5rem, 3vw, 2rem); } | |
| h4 { font-size: 1.25rem; } | |
| p { | |
| margin-bottom: 1.5rem; | |
| color: var(--color-text-light); | |
| } | |
| a { | |
| color: var(--color-accent); | |
| text-decoration: none; | |
| transition: color 0.2s ease; | |
| } | |
| a:hover { | |
| color: var(--color-accent-dark); | |
| } | |
| code { | |
| font-family: var(--font-mono); | |
| background: var(--color-bg-alt); | |
| padding: 0.2em 0.5em; | |
| border-radius: 4px; | |
| font-size: 0.9em; | |
| color: var(--color-accent-dark); | |
| } | |
| pre { | |
| font-family: var(--font-mono); | |
| background: var(--color-bg-dark); | |
| color: #f5f0e8; | |
| padding: 1.5rem; | |
| border-radius: 12px; | |
| overflow-x: auto; | |
| font-size: 0.875rem; | |
| line-height: 1.6; | |
| } | |
| pre code { | |
| background: none; | |
| padding: 0; | |
| color: inherit; | |
| } | |
| blockquote { | |
| border-left: 4px solid var(--color-accent); | |
| padding-left: 1.5rem; | |
| margin: 2rem 0; | |
| font-style: italic; | |
| font-size: 1.25rem; | |
| color: var(--color-text); | |
| } | |
| /* ======================================== | |
| Section Titles | |
| ======================================== */ | |
| .section-title { | |
| text-align: center; | |
| margin-bottom: 1rem; | |
| position: relative; | |
| } | |
| .section-title::after { | |
| content: ''; | |
| display: block; | |
| width: 60px; | |
| height: 4px; | |
| background: var(--gradient-warm); | |
| margin: 1rem auto 0; | |
| border-radius: 2px; | |
| } | |
| .section-subtitle { | |
| text-align: center; | |
| color: var(--color-text-muted); | |
| font-size: 1.125rem; | |
| margin-bottom: 3rem; | |
| } | |
| /* ======================================== | |
| Hero Section | |
| ======================================== */ | |
| .hero { | |
| min-height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| position: relative; | |
| background: var(--color-bg-dark); | |
| overflow: hidden; | |
| } | |
| .hero-content { | |
| text-align: center; | |
| z-index: 2; | |
| padding: 2rem; | |
| } | |
| .apology-badge { | |
| display: inline-block; | |
| background: rgba(232, 93, 59, 0.15); | |
| color: var(--color-accent-light); | |
| padding: 0.5rem 1.25rem; | |
| border-radius: 50px; | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| margin-bottom: 2rem; | |
| border: 1px solid rgba(232, 93, 59, 0.3); | |
| } | |
| .hero-title { | |
| color: #fff; | |
| margin-bottom: 1.5rem; | |
| letter-spacing: -0.02em; | |
| } | |
| .hero-title .highlight { | |
| background: var(--gradient-warm); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .hero-subtitle { | |
| color: var(--color-text-muted); | |
| font-size: 1.25rem; | |
| max-width: 500px; | |
| margin: 0 auto 3rem; | |
| } | |
| .scroll-indicator { | |
| position: absolute; | |
| bottom: 3rem; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| text-align: center; | |
| color: var(--color-text-muted); | |
| font-size: 0.875rem; | |
| } | |
| .scroll-arrow { | |
| width: 24px; | |
| height: 24px; | |
| margin: 0.5rem auto 0; | |
| border-right: 2px solid var(--color-accent); | |
| border-bottom: 2px solid var(--color-accent); | |
| transform: rotate(45deg); | |
| animation: scrollBounce 2s infinite; | |
| } | |
| @keyframes scrollBounce { | |
| 0%, 100% { transform: rotate(45deg) translateY(0); } | |
| 50% { transform: rotate(45deg) translateY(8px); } | |
| } | |
| .hero-visual { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| z-index: 1; | |
| opacity: 0.4; | |
| } | |
| #neuron-canvas { | |
| width: 100%; | |
| height: 100%; | |
| } | |
| .preface { | |
| padding: calc(var(--section-padding) + 4rem) 0 var(--section-padding); | |
| background: var(--color-bg); | |
| } | |
| .preface-content { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| font-size: 1.125rem; | |
| } | |
| .preface-content .drop-cap::first-letter { | |
| float: left; | |
| font-size: 4rem; | |
| line-height: 0.8; | |
| padding-right: 0.75rem; | |
| color: var(--color-accent); | |
| font-weight: 700; | |
| } | |
| /* ======================================== | |
| Confession Section | |
| ======================================== */ | |
| .confession { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .confession-content { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| } | |
| .confession-text { | |
| font-size: 1.125rem; | |
| } | |
| .confession-text .drop-cap::first-letter { | |
| float: left; | |
| font-size: 4rem; | |
| line-height: 0.8; | |
| padding-right: 0.75rem; | |
| color: var(--color-accent); | |
| font-weight: 700; | |
| } | |
| .big-question { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 1rem; | |
| background: var(--color-bg-alt); | |
| padding: 2rem; | |
| border-radius: 16px; | |
| margin-top: 2rem; | |
| border-left: 4px solid var(--color-accent); | |
| } | |
| .big-question .question-mark { | |
| font-size: 3rem; | |
| font-weight: 700; | |
| color: var(--color-accent); | |
| line-height: 1; | |
| } | |
| .big-question p { | |
| font-size: 1.25rem; | |
| font-weight: 500; | |
| color: var(--color-text); | |
| margin: 0; | |
| align-self: center; | |
| } | |
| /* ======================================== | |
| What Building Section | |
| ======================================== */ | |
| .what-building { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg-alt); | |
| } | |
| .feature-grid { | |
| display: grid; | |
| gap: 2rem; | |
| margin-bottom: 4rem; | |
| } | |
| .feature-card { | |
| background: var(--color-bg); | |
| border-radius: 20px; | |
| padding: 2.5rem; | |
| box-shadow: var(--shadow-md); | |
| } | |
| .main-feature { | |
| text-align: center; | |
| } | |
| .feature-icon { | |
| width: 100px; | |
| height: 100px; | |
| margin: 0 auto 1.5rem; | |
| } | |
| .neuron-icon { | |
| width: 100%; | |
| height: 100%; | |
| } | |
| .neuron-node { | |
| fill: var(--color-accent); | |
| opacity: 0.9; | |
| } | |
| .neuron-connection { | |
| stroke: var(--color-secondary); | |
| stroke-width: 2; | |
| fill: none; | |
| } | |
| .feature-card h3 { | |
| font-size: 2rem; | |
| margin-bottom: 0.5rem; | |
| color: var(--color-accent); | |
| } | |
| .feature-subtitle { | |
| color: var(--color-text-muted); | |
| font-size: 1rem; | |
| margin-bottom: 1rem; | |
| } | |
| .feature-stats { | |
| display: flex; | |
| justify-content: center; | |
| gap: 3rem; | |
| margin-top: 2rem; | |
| padding-top: 2rem; | |
| border-top: 1px solid var(--color-border); | |
| } | |
| .stat { | |
| text-align: center; | |
| } | |
| .stat-value { | |
| display: block; | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: var(--color-text); | |
| } | |
| .stat-label { | |
| font-size: 0.875rem; | |
| color: var(--color-text-muted); | |
| } | |
| /* Architecture Diagram */ | |
| .architecture-section { | |
| margin-top: 4rem; | |
| } | |
| .architecture-section h3 { | |
| text-align: center; | |
| margin-bottom: 2rem; | |
| } | |
| .architecture-diagram { | |
| max-width: 600px; | |
| margin: 0 auto; | |
| padding: 2rem; | |
| background: var(--color-bg); | |
| border-radius: 20px; | |
| box-shadow: var(--shadow-md); | |
| } | |
| .arch-layer { | |
| display: flex; | |
| justify-content: center; | |
| } | |
| .layer-box { | |
| padding: 1.5rem 2rem; | |
| border-radius: 12px; | |
| text-align: center; | |
| font-weight: 500; | |
| } | |
| .input-layer { | |
| background: linear-gradient(135deg, #4a9eff 0%, #6bb3ff 100%); | |
| color: white; | |
| } | |
| .recursive-layer { | |
| background: var(--color-accent); | |
| color: white; | |
| padding: 2rem; | |
| } | |
| .output-layer { | |
| background: linear-gradient(135deg, #50c878 0%, #7dd8a0 100%); | |
| color: white; | |
| } | |
| .layer-details { | |
| margin-top: 1rem; | |
| font-size: 0.875rem; | |
| font-weight: 400; | |
| opacity: 0.9; | |
| } | |
| .detail-item { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 0.5rem 0; | |
| border-top: 1px solid rgba(255,255,255,0.2); | |
| } | |
| .arch-arrow { | |
| text-align: center; | |
| font-size: 1.5rem; | |
| color: var(--color-text-muted); | |
| padding: 0.5rem 0; | |
| } | |
| .loop-arrow { | |
| color: var(--color-accent); | |
| font-size: 0.875rem; | |
| } | |
| /* ======================================== | |
| How It Works Section | |
| ======================================== */ | |
| .how-it-works { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .mechanism-tabs { | |
| display: flex; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| flex-wrap: wrap; | |
| margin-bottom: 3rem; | |
| } | |
| .tab-btn { | |
| padding: 0.75rem 1.5rem; | |
| border: 2px solid var(--color-border); | |
| background: transparent; | |
| border-radius: 50px; | |
| font-family: var(--font-sans); | |
| font-size: 0.9375rem; | |
| font-weight: 500; | |
| color: var(--color-text-light); | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| } | |
| .tab-btn:hover { | |
| border-color: var(--color-accent); | |
| color: var(--color-accent); | |
| } | |
| .tab-btn.active { | |
| background: var(--color-accent); | |
| border-color: var(--color-accent); | |
| color: white; | |
| } | |
| .tab-content { | |
| max-width: 1000px; | |
| margin: 0 auto; | |
| } | |
| .tab-pane { | |
| display: none; | |
| animation: fadeIn 0.3s ease; | |
| } | |
| .tab-pane.active { | |
| display: block; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; transform: translateY(10px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| .pane-content { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 3rem; | |
| align-items: start; | |
| } | |
| @media (max-width: 768px) { | |
| .pane-content { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| .pane-text h3 { | |
| margin-bottom: 1rem; | |
| color: var(--color-accent); | |
| } | |
| .equation { | |
| background: var(--color-bg-alt); | |
| padding: 1rem 1.5rem; | |
| border-radius: 8px; | |
| margin: 1rem 0; | |
| border-left: 3px solid var(--color-secondary); | |
| } | |
| .equation code { | |
| background: none; | |
| padding: 0; | |
| font-size: 1rem; | |
| color: var(--color-text); | |
| } | |
| .equation.small code { | |
| font-size: 0.875rem; | |
| } | |
| .feature-list { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .feature-list li { | |
| padding: 0.5rem 0; | |
| padding-left: 1.5rem; | |
| position: relative; | |
| color: var(--color-text-light); | |
| } | |
| .feature-list li::before { | |
| content: '→'; | |
| position: absolute; | |
| left: 0; | |
| color: var(--color-accent); | |
| } | |
| .feature-list li.classified::before { | |
| content: '█'; | |
| color: var(--color-text-muted); | |
| } | |
| .classified { | |
| color: var(--color-text-muted); | |
| font-family: 'JetBrains Mono', monospace; | |
| background: repeating-linear-gradient( | |
| 90deg, | |
| var(--color-border) 0px, | |
| var(--color-border) 8px, | |
| transparent 8px, | |
| transparent 12px | |
| ); | |
| background-size: 100% 4px; | |
| background-position: 0 50%; | |
| background-repeat: repeat-x; | |
| } | |
| .equation.redacted { | |
| border-left-color: var(--color-text-muted); | |
| background: linear-gradient( | |
| 135deg, | |
| var(--color-bg-alt) 0%, | |
| rgba(154, 148, 141, 0.1) 100% | |
| ); | |
| } | |
| .equation.redacted code { | |
| color: var(--color-text-muted); | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| font-size: 0.875rem; | |
| } | |
| .pane-visual { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 300px; | |
| } | |
| .pane-visual canvas { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| /* Loop Demo */ | |
| .loop-demo { | |
| margin-top: 1.5rem; | |
| padding: 1.5rem; | |
| background: var(--color-bg-alt); | |
| border-radius: 12px; | |
| } | |
| .loop-demo label { | |
| display: block; | |
| margin-bottom: 0.5rem; | |
| font-weight: 500; | |
| } | |
| .loop-demo input[type="range"] { | |
| width: 100%; | |
| margin-bottom: 1rem; | |
| accent-color: var(--color-accent); | |
| } | |
| .loop-indicator { | |
| display: flex; | |
| gap: 4px; | |
| flex-wrap: wrap; | |
| } | |
| .loop-dot { | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| background: var(--color-border); | |
| transition: background 0.2s ease; | |
| } | |
| .loop-dot.active { | |
| background: var(--color-accent); | |
| } | |
| .loop-dot.exhausted { | |
| background: var(--color-text-muted); | |
| } | |
| /* ======================================== | |
| Demo Section | |
| ======================================== */ | |
| .demo-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg-dark); | |
| color: white; | |
| } | |
| .demo-section .section-title { | |
| color: white; | |
| } | |
| .demo-section .section-title::after { | |
| background: var(--gradient-warm); | |
| } | |
| .demo-section .section-subtitle { | |
| color: var(--color-text-muted); | |
| } | |
| .demo-container { | |
| max-width: 1000px; | |
| margin: 0 auto; | |
| } | |
| .demo-controls { | |
| display: flex; | |
| justify-content: center; | |
| gap: 1rem; | |
| flex-wrap: wrap; | |
| margin-bottom: 2rem; | |
| } | |
| .demo-btn { | |
| padding: 0.75rem 1.5rem; | |
| border: none; | |
| border-radius: 8px; | |
| font-family: var(--font-sans); | |
| font-size: 1rem; | |
| font-weight: 500; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| } | |
| .demo-btn:first-child { | |
| background: var(--color-accent); | |
| color: white; | |
| } | |
| .demo-btn:first-child:hover { | |
| background: var(--color-accent-dark); | |
| } | |
| .demo-btn:nth-child(2) { | |
| background: var(--color-bg-dark-alt); | |
| color: white; | |
| border: 1px solid var(--color-border-dark); | |
| } | |
| .demo-btn:nth-child(2):hover { | |
| background: var(--color-border-dark); | |
| } | |
| .speed-control { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| color: var(--color-text-muted); | |
| } | |
| .speed-control input[type="range"] { | |
| width: 100px; | |
| accent-color: var(--color-accent); | |
| } | |
| .demo-visual { | |
| background: var(--color-bg-dark-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| margin-bottom: 2rem; | |
| min-height: 400px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| #demo-canvas { | |
| width: 100%; | |
| max-width: 800px; | |
| height: 350px; | |
| } | |
| .demo-info { | |
| display: flex; | |
| justify-content: center; | |
| } | |
| .info-panel { | |
| background: var(--color-bg-dark-alt); | |
| border: 1px solid var(--color-border-dark); | |
| border-radius: 12px; | |
| padding: 1.5rem 2rem; | |
| min-width: 250px; | |
| } | |
| .info-panel h4 { | |
| color: var(--color-accent); | |
| margin-bottom: 1rem; | |
| font-size: 0.875rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .info-row { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 0.5rem 0; | |
| border-bottom: 1px solid var(--color-border-dark); | |
| } | |
| .info-row:last-child { | |
| border-bottom: none; | |
| } | |
| .info-row span:first-child { | |
| color: var(--color-text-muted); | |
| } | |
| .info-row span:last-child { | |
| color: white; | |
| font-weight: 500; | |
| font-family: var(--font-mono); | |
| } | |
| /* ======================================== | |
| Why Stopped Section | |
| ======================================== */ | |
| .why-stopped { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .reasons-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 2rem; | |
| margin-bottom: 4rem; | |
| } | |
| .reason-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| position: relative; | |
| } | |
| .reason-number { | |
| font-size: 3rem; | |
| font-weight: 700; | |
| color: var(--color-border); | |
| position: absolute; | |
| top: 1rem; | |
| right: 1.5rem; | |
| line-height: 1; | |
| z-index: 1; | |
| } | |
| .reason-card h3 { | |
| margin-bottom: 1rem; | |
| color: var(--color-accent); | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .reason-card p { | |
| margin: 0; | |
| font-size: 0.9375rem; | |
| position: relative; | |
| z-index: 2; | |
| } | |
| /* Comparison */ | |
| .comparison-section { | |
| margin-top: 4rem; | |
| } | |
| .comparison-section h3 { | |
| text-align: center; | |
| margin-bottom: 2rem; | |
| } | |
| .comparison-grid { | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 2rem; | |
| flex-wrap: wrap; | |
| } | |
| .comparison-item { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| max-width: 350px; | |
| flex: 1; | |
| } | |
| .comparison-item h4 { | |
| margin-bottom: 1rem; | |
| font-size: 1.25rem; | |
| } | |
| .comparison-item.old h4 { | |
| color: var(--color-text-muted); | |
| } | |
| .comparison-item.new { | |
| border: 2px solid var(--color-accent); | |
| } | |
| .comparison-item.new h4 { | |
| color: var(--color-accent); | |
| } | |
| .comparison-item ul { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .comparison-item li { | |
| padding: 0.5rem 0; | |
| border-bottom: 1px solid var(--color-border); | |
| color: var(--color-text-light); | |
| } | |
| .comparison-item li:last-child { | |
| border-bottom: none; | |
| } | |
| .comparison-arrow { | |
| font-size: 2rem; | |
| color: var(--color-accent); | |
| } | |
| /* ======================================== | |
| Technical Section | |
| ======================================== */ | |
| .technical { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg-alt); | |
| } | |
| .tech-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 2rem; | |
| } | |
| .tech-card { | |
| background: var(--color-bg); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow-sm); | |
| } | |
| .tech-card h4 { | |
| color: var(--color-accent); | |
| margin-bottom: 1rem; | |
| padding-bottom: 0.75rem; | |
| border-bottom: 2px solid var(--color-border); | |
| } | |
| .tech-list { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .tech-list li { | |
| padding: 0.75rem 0; | |
| border-bottom: 1px solid var(--color-border); | |
| font-size: 0.9375rem; | |
| color: var(--color-text-light); | |
| } | |
| .tech-list li:last-child { | |
| border-bottom: none; | |
| } | |
| .tech-list strong { | |
| color: var(--color-text); | |
| } | |
| /* ======================================== | |
| Closing Section | |
| ======================================== */ | |
| .closing { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .closing-content { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| text-align: center; | |
| } | |
| .closing-content h2 { | |
| margin-bottom: 1.5rem; | |
| } | |
| .closing-content > p { | |
| font-size: 1.125rem; | |
| max-width: 600px; | |
| margin: 0 auto 2rem; | |
| } | |
| .closing-quote { | |
| margin: 3rem 0; | |
| } | |
| .closing-quote blockquote { | |
| border: none; | |
| padding: 0; | |
| font-size: 1.5rem; | |
| max-width: 500px; | |
| margin: 0 auto; | |
| position: relative; | |
| } | |
| .closing-quote blockquote::before { | |
| content: '"'; | |
| position: absolute; | |
| top: -1rem; | |
| left: -1rem; | |
| font-size: 4rem; | |
| color: var(--color-accent); | |
| opacity: 0.3; | |
| font-family: Georgia, serif; | |
| } | |
| .cta-section p { | |
| color: var(--color-text-muted); | |
| } | |
| .poem-section { | |
| margin: 4rem 0; | |
| padding: 2rem; | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| } | |
| .poem-intro { | |
| font-size: 0.875rem; | |
| color: var(--color-text-muted); | |
| margin-bottom: 1rem; | |
| letter-spacing: 0.15em; | |
| text-transform: uppercase; | |
| } | |
| .poem { | |
| font-family: Georgia, serif; | |
| font-style: italic; | |
| color: var(--color-text); | |
| line-height: 2; | |
| } | |
| .poem p { | |
| margin: 0; | |
| font-size: 1.125rem; | |
| } | |
| .poem p:last-child { | |
| color: var(--color-accent); | |
| } | |
| /* ======================================== | |
| Footer | |
| ======================================== */ | |
| .footer { | |
| padding: 3rem 0; | |
| background: var(--color-bg-dark); | |
| text-align: center; | |
| } | |
| .footer-text { | |
| color: white; | |
| font-size: 1.125rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| .footer-subtext { | |
| color: var(--color-text-muted); | |
| font-size: 0.875rem; | |
| margin: 0; | |
| } | |
| /* ======================================== | |
| Responsive | |
| ======================================== */ | |
| @media (max-width: 768px) { | |
| :root { | |
| --section-padding: 60px; | |
| } | |
| .feature-stats { | |
| flex-direction: column; | |
| gap: 1.5rem; | |
| } | |
| .comparison-arrow { | |
| transform: rotate(90deg); | |
| } | |
| .mechanism-tabs { | |
| gap: 0.25rem; | |
| } | |
| .tab-btn { | |
| padding: 0.5rem 1rem; | |
| font-size: 0.875rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .hero-title { | |
| font-size: 2rem; | |
| } | |
| .big-question { | |
| flex-direction: column; | |
| text-align: center; | |
| } | |
| .reason-number { | |
| position: static; | |
| margin-bottom: 1rem; | |
| } | |
| } | |
| /* ======================================== | |
| Animations | |
| ======================================== */ | |
| @keyframes pulse { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0.5; } | |
| } | |
| @keyframes float { | |
| 0%, 100% { transform: translateY(0); } | |
| 50% { transform: translateY(-10px); } | |
| } | |
| .animate-pulse { | |
| animation: pulse 2s infinite; | |
| } | |
| .animate-float { | |
| animation: float 3s ease-in-out infinite; | |
| } | |
| /* Scroll animations */ | |
| .fade-in-up { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| transition: opacity 0.6s ease, transform 0.6s ease; | |
| } | |
| .fade-in-up.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* ======================================== | |
| Navigation | |
| ======================================== */ | |
| .main-nav { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| background: rgba(26, 24, 21, 0.95); | |
| backdrop-filter: blur(10px); | |
| z-index: 1000; | |
| padding: 1rem 0; | |
| } | |
| .main-nav .container { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| } | |
| .nav-brand { | |
| color: white; | |
| font-size: 1.25rem; | |
| font-weight: 600; | |
| text-decoration: none; | |
| } | |
| .nav-links { | |
| display: flex; | |
| gap: 2rem; | |
| } | |
| .nav-links a { | |
| color: var(--color-text-muted); | |
| text-decoration: none; | |
| font-size: 0.9375rem; | |
| transition: color 0.2s ease; | |
| } | |
| .nav-links a:hover { | |
| color: var(--color-accent); | |
| } | |
| /* ======================================== | |
| ELI5 Section | |
| ======================================== */ | |
| .elief-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .elief-content { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 2rem; | |
| max-width: 1000px; | |
| margin: 0 auto; | |
| } | |
| .elief-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| } | |
| .elief-card h3 { | |
| color: var(--color-accent); | |
| margin-bottom: 1rem; | |
| font-size: 1.25rem; | |
| } | |
| .elief-card p { | |
| color: var(--color-text-light); | |
| margin: 0; | |
| line-height: 1.7; | |
| } | |
| /* ======================================== | |
| Demo Section Updates | |
| ======================================== */ | |
| .demo-chat { | |
| background: var(--color-bg-dark-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| margin-bottom: 2rem; | |
| max-width: 700px; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .chat-message { | |
| margin-bottom: 1.5rem; | |
| } | |
| .chat-message:last-child { | |
| margin-bottom: 0; | |
| } | |
| .chat-role { | |
| display: block; | |
| font-weight: 600; | |
| margin-bottom: 0.5rem; | |
| font-size: 0.875rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .user-message .chat-role { | |
| color: var(--color-info); | |
| } | |
| .assistant-message .chat-role { | |
| color: var(--color-accent); | |
| } | |
| .chat-text { | |
| color: white; | |
| font-size: 1.125rem; | |
| } | |
| .chat-thinking { | |
| background: rgba(232, 93, 59, 0.1); | |
| border-left: 3px solid var(--color-accent); | |
| padding: 1rem 1.5rem; | |
| margin-bottom: 1rem; | |
| border-radius: 0 8px 8px 0; | |
| } | |
| .thinking-line { | |
| color: var(--color-text-muted); | |
| font-size: 0.9375rem; | |
| padding: 0.25rem 0; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| .thinking-line.visible { | |
| opacity: 1; | |
| } | |
| .thinking-line.active { | |
| color: var(--color-accent-light); | |
| } | |
| .demo-visual { | |
| background: var(--color-bg-dark-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| margin-bottom: 2rem; | |
| min-height: 500px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| #demo-canvas { | |
| width: 100%; | |
| max-width: 900px; | |
| height: 450px; | |
| } | |
| .demo-info { | |
| display: flex; | |
| justify-content: center; | |
| gap: 2rem; | |
| flex-wrap: wrap; | |
| } | |
| .tokenization-panel { | |
| background: var(--color-bg-dark-alt); | |
| border: 1px solid var(--color-border-dark); | |
| border-radius: 12px; | |
| padding: 1.5rem 2rem; | |
| min-width: 250px; | |
| } | |
| .tokenization-panel h4 { | |
| color: var(--color-accent); | |
| margin-bottom: 1rem; | |
| font-size: 0.875rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .token-display { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 4px; | |
| margin-bottom: 0.75rem; | |
| } | |
| .token { | |
| background: var(--color-bg-dark); | |
| color: var(--color-accent-light); | |
| padding: 0.25rem 0.5rem; | |
| border-radius: 4px; | |
| font-family: var(--font-mono); | |
| font-size: 0.875rem; | |
| border: 1px solid var(--color-border-dark); | |
| } | |
| .token.space { | |
| width: 0.5rem; | |
| } | |
| .token.active { | |
| background: var(--color-accent); | |
| color: white; | |
| border-color: var(--color-accent); | |
| } | |
| .tokenization-note { | |
| font-size: 0.75rem; | |
| color: var(--color-text-muted); | |
| margin: 0; | |
| } | |
| /* CoT Display */ | |
| .cot-display { | |
| background: rgba(232, 93, 59, 0.1); | |
| border-left: 3px solid var(--color-accent); | |
| padding: 0.75rem 1rem; | |
| margin-bottom: 0.75rem; | |
| border-radius: 0 6px 6px 0; | |
| } | |
| .cot-line { | |
| color: var(--color-accent-light); | |
| font-size: 0.875rem; | |
| font-family: var(--font-mono); | |
| padding: 0.15rem 0; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| /* Blog Empty */ | |
| .blog-empty { | |
| text-align: center; | |
| padding: 4rem 2rem; | |
| color: var(--color-text-muted); | |
| } | |
| .blog-empty p { | |
| margin: 0; | |
| font-size: 1.125rem; | |
| } | |
| /* ======================================== | |
| Roadmap Section | |
| ======================================== */ | |
| .roadmap-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg-alt); | |
| } | |
| .roadmap-timeline { | |
| max-width: 700px; | |
| margin: 0 auto; | |
| position: relative; | |
| } | |
| .roadmap-timeline::before { | |
| content: ''; | |
| position: absolute; | |
| left: 20px; | |
| top: 0; | |
| bottom: 0; | |
| width: 2px; | |
| background: var(--color-border); | |
| } | |
| .roadmap-item { | |
| display: flex; | |
| gap: 2rem; | |
| padding: 1.5rem 0; | |
| position: relative; | |
| } | |
| .roadmap-marker { | |
| width: 42px; | |
| height: 42px; | |
| border-radius: 50%; | |
| background: var(--color-bg); | |
| border: 3px solid var(--color-border); | |
| flex-shrink: 0; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .roadmap-item.completed .roadmap-marker { | |
| background: var(--color-accent); | |
| border-color: var(--color-accent); | |
| } | |
| .roadmap-item.completed .roadmap-marker::after { | |
| content: ''; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| transform: translate(-50%, -50%); | |
| width: 12px; | |
| height: 12px; | |
| background: white; | |
| border-radius: 50%; | |
| } | |
| .roadmap-item.in-progress .roadmap-marker { | |
| border-color: var(--color-accent); | |
| animation: pulse 2s infinite; | |
| } | |
| .roadmap-content { | |
| flex: 1; | |
| } | |
| .roadmap-content h4 { | |
| margin-bottom: 0.5rem; | |
| color: var(--color-text); | |
| } | |
| .roadmap-content p { | |
| color: var(--color-text-light); | |
| margin-bottom: 0.5rem; | |
| } | |
| .roadmap-status { | |
| display: inline-block; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 50px; | |
| background: var(--color-bg); | |
| color: var(--color-text-muted); | |
| } | |
| .roadmap-item.completed .roadmap-status { | |
| background: rgba(80, 200, 120, 0.15); | |
| color: var(--color-success); | |
| } | |
| .roadmap-item.in-progress .roadmap-status { | |
| background: rgba(232, 93, 59, 0.15); | |
| color: var(--color-accent); | |
| } | |
| /* ======================================== | |
| Credits Section | |
| ======================================== */ | |
| .credits-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .credits-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 2rem; | |
| max-width: 1000px; | |
| margin: 0 auto; | |
| } | |
| .credit-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| } | |
| .credit-card h4 { | |
| color: var(--color-text-muted); | |
| font-size: 0.75rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| margin-bottom: 0.5rem; | |
| } | |
| .credit-name { | |
| font-family: var(--font-mono); | |
| font-size: 0.9375rem; | |
| color: var(--color-accent); | |
| margin-bottom: 0.75rem; | |
| } | |
| .credit-card p:not(.credit-name) { | |
| color: var(--color-text-light); | |
| font-size: 0.9375rem; | |
| margin-bottom: 1rem; | |
| } | |
| .credit-card a { | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| } | |
| /* ======================================== | |
| Page Header | |
| ======================================== */ | |
| .page-header { | |
| padding: 8rem 0 4rem; | |
| background: var(--color-bg-dark); | |
| text-align: center; | |
| } | |
| .page-header h1 { | |
| color: white; | |
| margin-bottom: 0.5rem; | |
| } | |
| .page-header p { | |
| color: var(--color-text-muted); | |
| font-size: 1.125rem; | |
| margin: 0; | |
| } | |
| /* ======================================== | |
| Blog Section | |
| ======================================== */ | |
| .blog-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .blog-list { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| } | |
| .blog-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| margin-bottom: 1.5rem; | |
| cursor: pointer; | |
| transition: transform 0.2s ease, box-shadow 0.2s ease; | |
| display: block; | |
| text-decoration: none; | |
| } | |
| .blog-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: var(--shadow-md); | |
| } | |
| .blog-meta { | |
| display: flex; | |
| gap: 1rem; | |
| margin-bottom: 1rem; | |
| } | |
| .blog-date { | |
| color: var(--color-text-muted); | |
| font-size: 0.875rem; | |
| } | |
| .blog-tag { | |
| background: rgba(232, 93, 59, 0.1); | |
| color: var(--color-accent); | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 50px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .blog-card h2 { | |
| font-size: 1.5rem; | |
| margin-bottom: 0.75rem; | |
| } | |
| .blog-card h2 a { | |
| color: var(--color-text); | |
| text-decoration: none; | |
| } | |
| .blog-card h2 a:hover { | |
| color: var(--color-accent); | |
| } | |
| .blog-card p { | |
| color: var(--color-text-light); | |
| margin-bottom: 1rem; | |
| } | |
| .blog-read-more { | |
| color: var(--color-accent); | |
| font-weight: 500; | |
| font-size: 0.9375rem; | |
| } | |
| .blog-empty { | |
| text-align: center; | |
| padding: 4rem 2rem; | |
| color: var(--color-text-muted); | |
| } | |
| .blog-empty p { | |
| margin: 0; | |
| font-size: 1.125rem; | |
| } | |
| /* ======================================== | |
| Status Section | |
| ======================================== */ | |
| .status-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| } | |
| .status-overview { | |
| max-width: 600px; | |
| margin: 0 auto 4rem; | |
| } | |
| .status-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 20px; | |
| padding: 2rem; | |
| text-align: center; | |
| } | |
| .status-card h3 { | |
| font-size: 1.5rem; | |
| margin-bottom: 1rem; | |
| } | |
| .status-badge { | |
| display: inline-block; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| padding: 0.5rem 1rem; | |
| border-radius: 50px; | |
| margin-bottom: 1.5rem; | |
| } | |
| .status-badge.in-progress { | |
| background: rgba(232, 93, 59, 0.15); | |
| color: var(--color-accent); | |
| } | |
| .status-badge.complete { | |
| background: rgba(80, 200, 120, 0.15); | |
| color: var(--color-success); | |
| } | |
| .status-details { | |
| text-align: left; | |
| } | |
| .status-row { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 0.75rem 0; | |
| border-bottom: 1px solid var(--color-border); | |
| } | |
| .status-row:last-child { | |
| border-bottom: none; | |
| } | |
| .status-row span:first-child { | |
| color: var(--color-text-muted); | |
| } | |
| .status-row span:last-child { | |
| font-weight: 500; | |
| } | |
| .training-log { | |
| max-width: 700px; | |
| margin: 0 auto 4rem; | |
| } | |
| .training-log h3 { | |
| margin-bottom: 1.5rem; | |
| text-align: center; | |
| } | |
| .log-entries { | |
| background: var(--color-bg-alt); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| } | |
| .log-entry { | |
| padding: 1rem 0; | |
| border-bottom: 1px solid var(--color-border); | |
| } | |
| .log-entry:last-child { | |
| border-bottom: none; | |
| } | |
| .log-date { | |
| color: var(--color-text-muted); | |
| font-size: 0.875rem; | |
| margin-right: 0.75rem; | |
| } | |
| .log-status { | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| padding: 0.125rem 0.5rem; | |
| border-radius: 50px; | |
| background: rgba(80, 200, 120, 0.15); | |
| color: var(--color-success); | |
| } | |
| .log-status.active { | |
| background: rgba(232, 93, 59, 0.15); | |
| color: var(--color-accent); | |
| } | |
| .log-entry p { | |
| margin: 0.5rem 0 0; | |
| color: var(--color-text-light); | |
| font-size: 0.9375rem; | |
| } | |
| .metrics-section { | |
| max-width: 900px; | |
| margin: 0 auto 4rem; | |
| } | |
| .metrics-section h3 { | |
| text-align: center; | |
| margin-bottom: 2rem; | |
| } | |
| .metrics-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); | |
| gap: 1.5rem; | |
| } | |
| .metric-card { | |
| background: var(--color-bg-alt); | |
| border-radius: 12px; | |
| padding: 1.5rem; | |
| text-align: center; | |
| } | |
| .metric-value { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: var(--color-accent); | |
| margin-bottom: 0.25rem; | |
| } | |
| .metric-label { | |
| font-size: 0.75rem; | |
| color: var(--color-text-muted); | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .availability-section { | |
| max-width: 600px; | |
| margin: 0 auto; | |
| text-align: center; | |
| } | |
| .availability-section h3 { | |
| margin-bottom: 1rem; | |
| } | |
| .availability-section p { | |
| color: var(--color-text-light); | |
| margin-bottom: 1.5rem; | |
| } | |
| .availability-link { | |
| display: inline-block; | |
| background: var(--color-accent); | |
| color: white; | |
| padding: 0.75rem 1.5rem; | |
| border-radius: 8px; | |
| font-weight: 500; | |
| text-decoration: none; | |
| } | |
| .availability-link:hover { | |
| background: var(--color-accent-dark); | |
| color: white; | |
| } | |
| .disclaimer-text { | |
| text-align: center; | |
| color: var(--color-text-muted); | |
| font-size: 0.875rem; | |
| font-style: italic; | |
| margin-top: 1rem; | |
| margin-bottom: 0; | |
| } | |
| /* ======================================== | |
| Features Grid Section | |
| ======================================== */ | |
| .features-section { | |
| max-width: 700px; | |
| margin: 0 auto 4rem; | |
| } | |
| .features-section h3 { | |
| text-align: center; | |
| margin-bottom: 1.5rem; | |
| } | |
| .features-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | |
| gap: 1rem; | |
| } | |
| .feature-toggle { | |
| background: var(--color-bg-alt); | |
| border-radius: 12px; | |
| padding: 1rem 1.25rem; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| border: 2px solid transparent; | |
| } | |
| .feature-toggle.enabled { | |
| border-color: rgba(80, 200, 120, 0.3); | |
| } | |
| .feature-toggle.disabled { | |
| opacity: 0.6; | |
| } | |
| .feature-name { | |
| font-weight: 500; | |
| color: var(--color-text); | |
| } | |
| .feature-status { | |
| font-size: 0.75rem; | |
| padding: 0.25rem 0.5rem; | |
| border-radius: 50px; | |
| background: rgba(80, 200, 120, 0.15); | |
| color: var(--color-success); | |
| } | |
| .feature-toggle.disabled .feature-status { | |
| background: rgba(154, 148, 141, 0.15); | |
| color: var(--color-text-muted); | |
| } | |
| /* ======================================== | |
| Blog Post Page | |
| ======================================== */ | |
| .blog-post-section { | |
| padding: var(--section-padding) 0; | |
| background: var(--color-bg); | |
| flex: 1; | |
| } | |
| .blog-post-content { | |
| max-width: 700px; | |
| margin: 0 auto; | |
| } | |
| .blog-loading { | |
| text-align: center; | |
| color: var(--color-text-muted); | |
| padding: 4rem 0; | |
| } | |
| .blog-back { | |
| display: inline-block; | |
| color: var(--color-accent); | |
| font-weight: 500; | |
| margin-bottom: 2rem; | |
| text-decoration: none; | |
| } | |
| .blog-back:hover { | |
| color: var(--color-accent-dark); | |
| } | |
| .blog-post-header { | |
| margin-bottom: 3rem; | |
| } | |
| .blog-post-header h1 { | |
| margin-top: 1rem; | |
| } | |
| .blog-post-body p { | |
| font-size: 1.125rem; | |
| line-height: 1.8; | |
| margin-bottom: 1.75rem; | |
| color: var(--color-text); | |
| } | |
| .blog-post-body p:first-of-type { | |
| font-size: 1.25rem; | |
| } | |
| .blog-read-more { | |
| display: inline-block; | |
| margin-top: 0.5rem; | |
| } | |
| .blog-post-body h1 { | |
| font-size: 2rem; | |
| margin: 2.5rem 0 1rem; | |
| padding-bottom: 0.5rem; | |
| border-bottom: 2px solid var(--color-border); | |
| } | |
| .blog-post-body h2 { | |
| font-size: 1.6rem; | |
| margin: 2rem 0 0.8rem; | |
| color: var(--color-accent); | |
| } | |
| .blog-post-body h3 { | |
| font-size: 1.3rem; | |
| margin: 1.5rem 0 0.6rem; | |
| color: var(--color-text); | |
| } | |
| .blog-post-body blockquote { | |
| border-left: 4px solid var(--color-accent); | |
| padding: 1rem 1.5rem; | |
| margin: 2rem 0; | |
| background: var(--color-bg-alt); | |
| border-radius: 0 8px 8px 0; | |
| font-style: italic; | |
| font-size: 1.1rem; | |
| color: var(--color-text); | |
| } | |
| .blog-post-body blockquote p { | |
| margin: 0; | |
| } | |
| .blog-post-body ul, .blog-post-body ol { | |
| margin: 1.5rem 0; | |
| padding-left: 1.5rem; | |
| } | |
| .blog-post-body li { | |
| margin-bottom: 0.75rem; | |
| color: var(--color-text); | |
| line-height: 1.7; | |
| } | |
| .blog-post-body ul li { | |
| list-style-type: disc; | |
| } | |
| .blog-post-body ol li { | |
| list-style-type: decimal; | |
| } | |
| .blog-post-body hr { | |
| border: none; | |
| height: 2px; | |
| background: linear-gradient(to right, transparent, var(--color-border), transparent); | |
| margin: 3rem 0; | |
| } | |
| .blog-post-body pre { | |
| background: var(--color-bg-dark); | |
| color: #f5f0e8; | |
| padding: 1.5rem; | |
| border-radius: 12px; | |
| overflow-x: auto; | |
| margin: 1.5rem 0; | |
| font-family: var(--font-mono); | |
| font-size: 0.9rem; | |
| line-height: 1.6; | |
| } | |
| .blog-post-body pre code { | |
| background: none; | |
| padding: 0; | |
| color: inherit; | |
| font-size: inherit; | |
| } | |
| .blog-post-body code { | |
| font-family: var(--font-mono); | |
| background: var(--color-bg-alt); | |
| padding: 0.2em 0.5em; | |
| border-radius: 4px; | |
| font-size: 0.85em; | |
| color: var(--color-accent-dark); | |
| } | |
| .blog-post-body a { | |
| color: var(--color-accent); | |
| text-decoration: underline; | |
| text-underline-offset: 2px; | |
| } | |
| .blog-post-body a:hover { | |
| color: var(--color-accent-dark); | |
| } | |
| .blog-post-body strong { | |
| color: var(--color-text); | |
| font-weight: 600; | |
| } | |
| .blog-post-body em { | |
| color: var(--color-text); | |
| } | |
| .blog-post-body img { | |
| max-width: 100%; | |
| height: auto; | |
| border-radius: 12px; | |
| margin: 2rem 0; | |
| } |