:root { --bg: #0b0b0c; --surface: #131315; --text-main: #f4f4f6; --text-muted: #8a8a93; --accent: #6366f1; --border: #222226; /* Fibonacci Spacing & Layout System */ --f1: 8px; --f2: 13px; --f3: 21px; --f5: 34px; --f8: 55px; --f13: 89px; --f21: 144px; } * { box-sizing: border-box; margin: 0; padding: 0; } body { background-color: var(--bg); color: var(--text-main); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; min-height: 100vh; display: flex; flex-direction: column; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Pure Geometric Fibonacci Grid Layout */ .fibonacci-grid { display: grid; grid-template-columns: minmax(0, var(--f21)) minmax(0, 1fr); gap: var(--f5); max-width: 1200px; width: 100%; margin: 0 auto; padding: var(--f8) var(--f5); flex: 1; } /* Sidebar Pane (Fibonacci Width 1: 144px proportion) */ .panel-alpha { display: flex; flex-direction: column; gap: var(--f8); } .logo-mark { font-size: var(--f3); font-weight: 700; letter-spacing: -0.05em; color: var(--text-main); text-decoration: none; display: block; } .nav-links { list-style: none; display: flex; flex-direction: column; gap: var(--f2); } .nav-links a { color: var(--text-muted); text-decoration: none; font-size: 14px; font-weight: 500; transition: color 0.2s ease; } .nav-links a:hover { color: var(--text-main); } /* Main Display Pane (Fibonacci Width 2: Expanding Proportions) */ .panel-beta { display: flex; flex-direction: column; gap: var(--f13); } .hero-section h1 { font-size: var(--f5); font-weight: 600; letter-spacing: -0.03em; line-height: 1.2; max-width: 600px; margin-bottom: var(--f3); text-wrap: balance; } .hero-section p { color: var(--text-muted); font-size: 16px; max-width: 520px; } /* Modular Category Grid mirroring Golden Proportions */ .brackets-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--f3); } .bracket-card { background: var(--surface); border: 1px solid var(--border); padding: var(--f5); border-radius: 4px; display: flex; flex-direction: column; gap: var(--f2); } .bracket-card h3 { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; } .bracket-card p { color: var(--text-muted); font-size: 14px; line-height: 1.6; } .meta-spec { font-family: monospace; font-size: 12px; color: var(--accent); text-transform: uppercase; letter-spacing: 0.05em; margin-top: auto; padding-top: var(--f2); } /* ── Section shared styles ── */ .content-section { display: flex; flex-direction: column; gap: var(--f5); } .section-heading { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; padding-bottom: var(--f2); border-bottom: 1px solid var(--border); } .section-lead { color: var(--text-muted); font-size: 15px; max-width: 560px; } code { font-family: "SF Mono", "Fira Code", "Cascadia Mono", Menlo, monospace; font-size: 0.85em; color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); padding: 1px 5px; border-radius: 3px; } /* ── Constraints Table ── */ .constraints-table { border: 1px solid var(--border); border-radius: 4px; overflow: hidden; } .constraints-header, .constraints-row { display: grid; grid-template-columns: 160px 1fr 1fr; gap: 0; } .constraints-header { background: var(--surface); border-bottom: 1px solid var(--border); } .constraints-header span { padding: var(--f2) var(--f3); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); } .constraints-header span:not(:last-child), .constraints-row span:not(:last-child) { border-right: 1px solid var(--border); } .constraints-row { border-bottom: 1px solid var(--border); font-size: 14px; } .constraints-row:last-child { border-bottom: none; } .constraints-row span { padding: var(--f2) var(--f3); color: var(--text-muted); line-height: 1.5; } .constraint-label { color: var(--text-main) !important; font-weight: 500; font-size: 13px !important; } /* ── Requirements List ── */ .requirements-list { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--border); border-radius: 4px; overflow: hidden; } .requirement-item { display: flex; align-items: flex-start; gap: var(--f5); padding: var(--f5); border-bottom: 1px solid var(--border); } .requirement-item:last-child { border-bottom: none; } .requirement-index { font-family: "SF Mono", "Fira Code", "Cascadia Mono", Menlo, monospace; font-size: 11px; color: var(--accent); letter-spacing: 0.04em; padding-top: 2px; min-width: 20px; flex-shrink: 0; } .requirement-item h4 { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: var(--f1); font-family: "SF Mono", "Fira Code", "Cascadia Mono", Menlo, monospace; } .requirement-item p { color: var(--text-muted); font-size: 14px; line-height: 1.6; } /* ── Code Block ── */ .code-block { background: var(--surface); border: 1px solid var(--border); border-radius: 4px; padding: var(--f5); overflow-x: auto; font-family: "SF Mono", "Fira Code", "Cascadia Mono", Menlo, monospace; font-size: 13px; line-height: 1.7; color: var(--text-muted); } .code-block code { background: none; padding: 0; font-size: 13px; color: inherit; border-radius: 0; } .code-block .kw { color: #818cf8; } .code-block .cls { color: #a5b4fc; } .code-block .fn { color: #c4b5fd; } .code-block .str { color: #6ee7b7; } .code-block .cm { color: #4b5563; } .code-block .num { color: #f9a8d4; } /* ── Rules Grid ── */ .rules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--f3); } .rule-item { display: flex; flex-direction: column; gap: var(--f2); padding: var(--f5); background: var(--surface); border: 1px solid var(--border); border-radius: 4px; } .rule-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent); } .rule-item p { color: var(--text-muted); font-size: 14px; line-height: 1.6; } /* ── CTA Section ── */ .cta-section { display: flex; align-items: center; justify-content: space-between; gap: var(--f5); padding: var(--f5); background: var(--surface); border: 1px solid var(--border); border-radius: 4px; flex-wrap: wrap; } .cta-body h2 { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: var(--f1); } .cta-body p { color: var(--text-muted); font-size: 14px; max-width: 400px; } .cta-actions { display: flex; gap: var(--f2); flex-shrink: 0; } .btn-primary { display: inline-block; padding: 10px var(--f3); background: var(--accent); color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; border-radius: 4px; transition: opacity 0.2s ease; white-space: nowrap; } .btn-primary:hover { opacity: 0.85; } .btn-ghost { display: inline-block; padding: 10px var(--f3); background: transparent; color: var(--text-muted); font-size: 14px; font-weight: 500; text-decoration: none; border: 1px solid var(--border); border-radius: 4px; transition: color 0.2s ease, border-color 0.2s ease; white-space: nowrap; } .btn-ghost:hover { color: var(--text-main); border-color: #3a3a40; } footer { border-top: 1px solid var(--border); padding: var(--f5) 0; margin-top: var(--f13); } .footer-content { max-width: 1200px; margin: 0 auto; padding: 0 var(--f5); display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text-muted); } /* Clean responsiveness breaking back to single stack */ @media (max-width: 768px) { .fibonacci-grid { grid-template-columns: 1fr; gap: var(--f8); padding: var(--f5) var(--f3); } .panel-alpha { gap: var(--f3); flex-direction: row; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); padding-bottom: var(--f3); } .nav-links { flex-direction: row; gap: var(--f3); } .panel-beta { gap: var(--f8); } .constraints-header, .constraints-row { grid-template-columns: 110px 1fr 1fr; } .cta-section { flex-direction: column; align-items: flex-start; } }