:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.light{color-scheme:light;--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-text: #1a1a1a;--color-text-secondary: #666666;--color-border: #e0e0e0;--color-primary: #0066cc;--color-primary-hover: #0052a3;--color-success: #2e7d32;--color-warning: #f57c00;--color-error: #d32f2f;--color-info: #0288d1;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .15)}:root.dark{color-scheme:dark;--color-bg: #1a1a1a;--color-bg-secondary: #2a2a2a;--color-text: #e0e0e0;--color-text-secondary: #a0a0a0;--color-border: #3a3a3a;--color-primary: #4d9fff;--color-primary-hover: #3d8fe6;--color-success: #4caf50;--color-warning: #ffa726;--color-error: #ef5350;--color-info: #29b6f6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);transition:background-color .2s,color .2s}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2;color:var(--color-text)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:600}h3{font-size:1.75rem;font-weight:600}h4{font-size:1.5rem;font-weight:500}h5{font-size:1.25rem;font-weight:500}h6{font-size:1rem;font-weight:500}p{margin-top:0;margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}button{font-family:inherit;font-size:1rem;padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;transition:all .2s}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.primary{background-color:var(--color-primary);color:#fff}button.primary:hover{background-color:var(--color-primary-hover)}button.secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}button.secondary:hover{background-color:var(--color-border)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:1rem;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg);color:var(--color-text);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--color-text)}.field-help{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem}.field-error{font-size:.875rem;color:var(--color-error);margin-top:.25rem}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm)}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:1000;background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;text-decoration:none;font-weight:700;border-radius:0 0 4px}.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;overflow:visible}@media(max-width:768px){:root{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}
