/* Balinyaar product docs — generated HTML view. Edit Markdown + regenerate; do not hand-edit .html. */ :root { --teal: #1d4a40; --teal-bright: #2a6b5c; --terracotta: #d98c6a; --bg: #faf9f5; --surface: #ffffff; --surface-2: #f3efe9; --border: #e4ddd2; --text: #23211c; --text-soft: #5d574c; --link: #1d6b5a; --code-bg: #f3efe9; --shadow: 0 1px 3px rgba(0, 0, 0, .08); --sidebar-w: 290px; --mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace; --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif; } :root[data-theme="dark"] { --teal: #4fd1b5; --teal-bright: #6fe0c8; --terracotta: #e8a888; --bg: #14130f; --surface: #1d1c17; --surface-2: #262420; --border: #34322b; --text: #ece8df; --text-soft: #a8a294; --link: #6fe0c8; --code-bg: #262420; --shadow: 0 1px 3px rgba(0, 0, 0, .4); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: var(--sans); background: var(--bg); color: var(--text); line-height: 1.65; -webkit-font-smoothing: antialiased; } .layout { display: flex; min-height: 100vh; align-items: flex-start; } /* Sidebar */ .sidebar { width: var(--sidebar-w); flex: 0 0 var(--sidebar-w); position: sticky; top: 0; align-self: flex-start; height: 100vh; overflow-y: auto; background: var(--teal); color: #f3efe9; padding: 22px 18px 40px; } .sidebar .brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.15rem; letter-spacing: .2px; color: #fff; text-decoration: none; margin-bottom: 4px; } .sidebar .brand .dot { width: 11px; height: 11px; border-radius: 50%; background: var(--terracotta); flex: 0 0 auto; } .sidebar .tagline { font-size: .72rem; color: #bcd6cd; margin: 0 0 18px 21px; } .sidebar nav .group { margin-bottom: 16px; } .sidebar nav .group > .label { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: #8fb5aa; margin: 0 0 6px 4px; font-weight: 700; } .sidebar nav ul { list-style: none; margin: 0; padding: 0; } .sidebar nav a { display: block; padding: 4px 10px; border-radius: 7px; color: #d8e6e1; text-decoration: none; font-size: .855rem; line-height: 1.4; } .sidebar nav a:hover { background: rgba(255, 255, 255, .09); color: #fff; } .sidebar nav a.active { background: var(--terracotta); color: #23211c; font-weight: 600; } /* Main */ .main { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; padding: 0 36px; } .content { width: 100%; max-width: 860px; padding: 38px 0 90px; } .topbar { display: flex; justify-content: flex-end; margin-bottom: 6px; } .theme-toggle { background: var(--surface); border: 1px solid var(--border); color: var(--text-soft); border-radius: 8px; padding: 5px 11px; font-size: .8rem; cursor: pointer; font-family: var(--sans); } .theme-toggle:hover { border-color: var(--teal); color: var(--teal); } .content h1, .content h2, .content h3, .content h4 { line-height: 1.25; scroll-margin-top: 20px; } .content h1 { font-size: 2rem; margin: .2em 0 .6em; color: var(--teal); font-weight: 750; } .content h2 { font-size: 1.4rem; margin: 1.8em 0 .5em; padding-bottom: .25em; border-bottom: 2px solid var(--border); } .content h3 { font-size: 1.13rem; margin: 1.5em 0 .4em; color: var(--teal-bright); } .content h4 { font-size: 1rem; margin: 1.3em 0 .3em; color: var(--text-soft); } .content h2 a.anchor, .content h3 a.anchor { opacity: 0; text-decoration: none; color: var(--terracotta); margin-left: .35em; font-weight: 400; } .content h2:hover a.anchor, .content h3:hover a.anchor { opacity: 1; } .content p { margin: .7em 0; } .content a { color: var(--link); text-decoration: none; border-bottom: 1px solid transparent; } .content a:hover { border-bottom-color: var(--link); } .content ul, .content ol { padding-left: 1.5em; margin: .6em 0; } .content li { margin: .25em 0; } .content li > ul, .content li > ol { margin: .2em 0; } .content hr { border: none; border-top: 1px solid var(--border); margin: 2.2em 0; } .content strong { font-weight: 680; } .content del { color: var(--text-soft); } /* Inline + block code */ .content code { font-family: var(--mono); font-size: .86em; background: var(--code-bg); padding: .12em .38em; border-radius: 5px; color: var(--teal-bright); word-break: break-word; } .content pre { background: var(--code-bg); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; overflow-x: auto; margin: 1em 0; line-height: 1.5; } .content pre code { background: none; padding: 0; color: var(--text); font-size: .82rem; } .content pre.mermaid { background: var(--surface); text-align: center; border-style: dashed; color: var(--text); } /* Tables */ .table-wrap { overflow-x: auto; margin: 1.1em 0; } .content table { border-collapse: collapse; width: 100%; font-size: .87rem; } .content th, .content td { border: 1px solid var(--border); padding: 7px 11px; text-align: left; vertical-align: top; } .content th { background: var(--surface-2); font-weight: 650; } .content tbody tr:nth-child(even) { background: var(--surface-2); } /* Blockquote → callout */ .content blockquote { margin: 1.1em 0; padding: 12px 16px; background: var(--surface); border-left: 4px solid var(--terracotta); border-radius: 0 8px 8px 0; color: var(--text-soft); box-shadow: var(--shadow); } .content blockquote p { margin: .3em 0; } .back-to-top { display: inline-block; margin-top: 2.5em; font-size: .82rem; color: var(--text-soft); } /* RTL / Persian passages render acceptably inside LTR layout; force-direction helper if needed */ .content [dir="rtl"] { direction: rtl; text-align: right; } @media (max-width: 880px) { .layout { flex-direction: column; } .sidebar { position: static; width: 100%; flex-basis: auto; height: auto; } .sidebar nav { columns: 2; } .main { padding: 0 18px; } }