:root{--color-primary: #00205b;--color-primary-hover: #003380;--color-primary-light: rgba(0, 32, 91, .08);--color-accent: #08b2ff;--color-accent-muted: rgba(8, 178, 255, .15);--color-white: #ffffff;--color-grey-50: #fafafa;--color-grey-100: #f5f5f5;--color-grey-200: #e0e0e0;--color-grey-400: #9e9e9e;--color-grey-600: #616161;--color-black: #1a1a1a;--color-text: var(--color-black);--color-text-muted: var(--color-grey-600);--color-bg: var(--color-white);--color-bg-alt: var(--color-grey-100);--color-border: var(--color-grey-200);--content-max: 1200px;--content-wide: 960px;--content-narrow: 640px;--section-padding: clamp(2rem, 5vw, 4rem);font-family:system-ui,-apple-system,Segoe UI,Roboto,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:0 4px 12px #00205b4d}.btn-primary:active{transform:scale(.98)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:10px;cursor:pointer;transition:background-color .2s,color .2s}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{opacity:.9}h1{font-size:2.5em;line-height:1.2;color:var(--color-primary)}h2{font-size:1.5em;color:var(--color-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .2s,border-color .25s}button:focus{outline:none}button:focus-visible{outline:none}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg)}.app-main{flex:1;padding:0 var(--section-padding) var(--section-padding);width:100%;max-width:100%}.app-loading{min-height:40vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.95rem}
