:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background-primary: #f8fafc;--background-secondary: #ffffff;--background-secondary-translucent: rgba(255, 255, 255, .8);--background-tertiary: #f0f2f5;--background-modal: #fdfdfd;--text-primary: #213547;--text-secondary: #6c757d;--text-headings: #2c3e50;--accent-primary: #007bff;--accent-hover: #0056b3;--border-primary: #dee2e6;--border-secondary: #e9ecef;--link-color: #3498db;--link-hover-color: #2980b9;--card-shadow: rgba(0, 0, 0, .05)}html.dark{--background-primary: #0a192f;--background-secondary: #112240;--background-secondary-translucent: rgba(17, 34, 64, .8);--background-tertiary: #1d2d50;--background-modal: #172a46;--text-primary: #ccd6f6;--text-secondary: #8892b0;--text-headings: #e6f1ff;--accent-primary: #64ffda;--accent-hover: #52d9bc;--border-primary: #233554;--border-secondary: #1d2d50;--link-color: #64ffda;--link-hover-color: #a7ffeb;--card-shadow: rgba(0, 0, 0, .2)}html,body,#root{width:100%;height:100%;margin:0;padding:0;box-sizing:border-box}body{font-size:18px;line-height:1.6;min-width:320px;color:var(--text-primary);background-color:var(--background-primary);transition:background-color .3s ease,color .3s ease}a{font-weight:500;color:var(--link-color);text-decoration:inherit;transition:color .3s ease}a:hover{color:var(--link-hover-color)}h1{font-size:3.2em;line-height:1.1;color:var(--text-headings)}img{max-width:100%;height:auto}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--background-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--accent-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.main-layout-container{display:flex;align-items:flex-start;gap:4rem}.main-content{flex:1;display:flex;flex-direction:column;gap:2.5rem}.sidebar-sticky{flex:0 0 300px;position:sticky;top:3rem}.app-loading-fallback{display:flex;justify-content:center;align-items:center;height:80vh;width:100%}@media (max-width: 900px){.main-layout-container{flex-direction:column;gap:2.5rem}.sidebar-sticky{flex-basis:auto;width:100%;position:relative;top:auto}.page-header-container h1{font-size:2.8rem}.page-intro{font-size:1.15rem}.page-header-container{margin-bottom:2rem}}
