:root { 
            --primary-green: #004D1A; 
            --accent-green: #00D639; 
            --light-green: #E8F5E9; 
            --text-dark: #1A1A1A; 
            --text-gray: #4A4A4A; 
            --bg-white: #FFFFFF; 
            --bg-light: #F9F9F9; 
            --border-color: #B8B8B8; 
        }

body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: var(--text-dark); line-height: 1.7; background: var(--bg-white); }

.container { max-width: 900px; margin: 0 auto; padding: 20px; }

#scroll-progress { position: fixed; top: 0; left: 0; width: 0%; height: 4px; background: linear-gradient(90deg, var(--accent-green), var(--primary-green)); z-index: 9999; transition: width 0.1s ease; }

.breadcrumbs { font-size: 0.85rem; color: var(--text-gray); margin-bottom: 20px; }

.breadcrumbs a { color: var(--accent-green); text-decoration: none; }

nav.table-of-contents { background: var(--bg-light); padding: 25px; border-radius: 12px; margin: 30px 0; border-left: 4px solid var(--accent-green); }

nav.table-of-contents h2 { font-size: 1.4rem; margin-bottom: 15px; color: var(--primary-green); border-bottom: none; }

nav.table-of-contents ol { list-style: none; padding-left: 0; counter-reset: item; }

nav.table-of-contents li { margin: 8px 0; font-size: 0.95rem; counter-increment: item; }

nav.table-of-contents li::before { content: counter(item) ". "; font-weight: bold; color: var(--primary-green); margin-right: 5px; }

nav.table-of-contents a { color: var(--text-dark); text-decoration: none; }

nav.table-of-contents a:hover { text-decoration: underline; }

section { margin: 50px 0; font-size: 1.05rem; color: var(--text-dark); }

h2 { font-size: 2rem; color: var(--primary-green); margin: 40px 0 20px; padding-bottom: 10px; border-bottom: 2px solid var(--accent-green); }

h3 { font-size: 1.5rem; color: var(--primary-green); margin: 30px 0 15px; }

p, li { margin-bottom: 15px; }

strong { color: var(--primary-green); }

a { color: var(--accent-green); text-decoration: none; }

a:hover { text-decoration: underline; }

sup a { font-size: 0.7em; vertical-align: super; margin: 0 2px; color: var(--accent-green); font-weight: bold; text-decoration: none; padding: 2px; }

sup a:hover { background-color: var(--light-green); border-radius: 3px; }

#disclaimer { background:#fffbe6; color:#555; border:1px solid #ffd666; border-radius:8px; padding:20px; font-size:0.9rem; margin-top:50px; text-align: center; }

.visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.icon-cell {
            font-size: 20px;
            text-align: center;
        }
