:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg-primary: #242424;--bg-secondary: #1a1a1a;--bg-modal: #000000;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #ffffff;--text-accent: #646cff;--text-accent-hover: #535bf2;--text-error: #ef4444;--text-success: #22c55e;--border-primary: #333;--border-secondary: #555;--border-accent: #646cff;--focus-ring: rgba(100, 108, 255, .1);--error-ring: rgba(239, 68, 68, .1);--success-ring: rgba(34, 197, 94, .1);color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--text-accent);text-decoration:inherit}a:hover{color:var(--text-accent-hover)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}html{overflow-x:hidden}#root{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--border-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{--bg-primary: #ffffff;--bg-secondary: #f9f9f9;--bg-modal: #f5f5f5;--text-primary: #213547;--text-secondary: #000000;--text-accent: #646cff;--text-accent-hover: #747bff;--text-error: #dc2626;--text-success: #059669;--border-primary: #ddd;--border-secondary: #ccc;--border-accent: #646cff;--focus-ring: rgba(100, 108, 255, .1);--error-ring: rgba(239, 68, 68, .1);--success-ring: rgba(34, 197, 94, .1);color:var(--text-primary);background-color:var(--bg-primary)}a:hover{color:var(--text-accent-hover)}button{background-color:var(--bg-secondary)}}.container{width:100%;padding:5vh 2.5%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-height:100vh}:root{--bs-xs: 0px;--bs-sm: 576px;--bs-md: 768px;--bs-lg: 992px;--bs-xl: 1200px}@media (min-width: 576px){.container{padding:5vh 5%}}@media (min-width: 768px){.container{padding:10vh 7.5%}}@media (min-width: 992px){.container{padding:10vh 10%}}@media (min-width: 1200px){.container{padding:10vh 10%}}.container-modal{width:100%;margin:0 auto;max-width:90%;min-width:300px;max-height:80vh;overflow-y:auto;overflow-x:hidden;background-color:var(--bg-modal)}@media (min-width: 576px){.container-modal{max-width:400px;max-height:75vh;border:1px solid var(--border-primary)}}@media (min-width: 768px){.container-modal{max-width:500px;max-height:70vh;border:1px solid var(--border-primary)}}@media (min-width: 992px){.container-modal{max-width:60%;max-height:70vh;border:1px solid var(--border-primary)}}@media (min-width: 1200px){.container-modal{max-width:60%;max-height:70vh;border:1px solid var(--border-primary)}}.control{margin-bottom:1rem}.control.error .control-field input,.control.error .control-field .checkbox{border-color:var(--text-error)}.control.error .control-field input:focus,.control.error .control-field .checkbox:focus{border-color:var(--text-error);box-shadow:0 0 0 3px var(--error-ring)}.control-field{position:relative}.label{display:inline-block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.875rem;line-height:1.25rem}.label.required-indicator{color:var(--text-error);margin-left:.25rem;font-weight:700}.label:hover{color:var(--text-secondary)}.label:focus-within{color:var(--text-accent)}.input{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem;line-height:1.5;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;box-sizing:border-box}.input::placeholder{color:var(--text-primary);opacity:.6}.input:hover{border-color:var(--border-secondary)}.input:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 3px var(--focus-ring)}.input:disabled{background-color:var(--bg-primary);color:var(--text-primary);opacity:.5;cursor:not-allowed}.input.error{border-color:var(--text-error)}.input.error:focus{border-color:var(--text-error);box-shadow:0 0 0 3px var(--error-ring)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;position:relative;overflow:hidden;background-color:var(--text-accent);color:#fff;border-color:var(--text-accent)}.button:hover:not(:disabled){background-color:var(--text-accent-hover);border-color:var(--text-accent-hover)}.button.sm{padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.button.md{padding:.75rem 1rem;font-size:1rem;line-height:1.5rem}.button.lg{padding:.75rem 1.5rem;font-size:1.125rem;line-height:1.75rem}.button:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button.full-width{width:100%}.button.loading{cursor:wait}.button .content.loading{opacity:0}.button .spinner{position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.feedback-text{display:block;font-size:.875rem;line-height:1.25rem;margin-top:.5rem;border-radius:.25rem;padding:.5rem;border-left:.25rem solid}.feedback-text.error{color:var(--text-error);background-color:var(--error-ring);border-left-color:var(--text-error)}.feedback-text.success{color:var(--text-success);background-color:var(--success-ring);border-left-color:var(--text-success)}.checkbox,.radio{width:1rem;height:1rem;border:2px solid var(--border-primary);background-color:var(--bg-secondary);cursor:pointer;transition:all .2s ease-in-out;appearance:none;position:relative}.checkbox{border-radius:.25rem}.radio{border-radius:50%}.checkbox:hover,.radio:hover{border-color:var(--border-secondary)}.checkbox:focus,.radio:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px var(--focus-ring)}.checkbox:checked{background-color:var(--text-accent);border-color:var(--text-accent)}.radio:checked{background-color:var(--bg-primary);border-color:var(--text-accent)}.checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.75rem;font-weight:700;line-height:1}.radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.5rem;height:.5rem;background-color:var(--text-accent);border-radius:50%}.checkbox:disabled,.radio:disabled{opacity:.5;cursor:not-allowed}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-option,.radio-option{display:flex;align-items:center;gap:.75rem}.checkbox-option label,.radio-option label{margin:0;cursor:pointer;font-weight:400;line-height:1.2;padding-top:.05rem}.checkbox-option input[disabled]+label,.radio-option input[disabled]+label{opacity:.6;cursor:not-allowed}.checkbox-group.inline,.radio-group.inline{flex-direction:row;flex-wrap:wrap;gap:1.5rem}.checkbox-field{display:flex;align-items:center;gap:.75rem}.checkbox-field label{margin:0;cursor:pointer;font-weight:400;line-height:1.2;padding-top:.05rem}.checkbox-field input[disabled]+label{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-modal);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;position:relative;max-height:90vh;overflow-y:auto;width:100%;max-width:32rem;animation:modalSlideIn .2s ease-out}.modal-content.sm{max-width:24rem}.modal-content.md{max-width:32rem}.modal-content.lg{max-width:48rem}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-x{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;transition:all .2s ease-in-out;z-index:1}.modal-close-x:hover{background-color:var(--border-primary);color:var(--text-primary)}.modal-close-x:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-primary);margin-bottom:1.5rem}.modal-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary);padding-right:2rem}.modal-body{padding:1.5rem;padding-top:0}.modal-body:first-child{padding-top:2.5rem}.modal-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-primary);margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}@media (max-width: 640px){.modal-overlay{padding:.5rem}.modal-content{max-width:100%;margin:0;border-radius:8px}.modal-header{padding:1rem 1rem 0}.modal-body{padding:1rem;padding-top:0}.modal-body:first-child{padding-top:2rem}.modal-footer{padding:0 1rem 1rem}.modal-title{font-size:1.25rem}}.signup{background-color:var(--bg-modal);border:1px solid var(--border-primary);border-radius:8px;padding:2rem;color:var(--text-secondary);max-width:800px;margin:0 auto}.signup h1{text-align:center;margin-bottom:2rem;color:var(--text-secondary)}.signup-form,.form-row{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 768px){.form-row{flex-direction:row;gap:2rem}.form-field{flex:1}}.signup .radio-group{margin-top:.5rem}@media (min-width: 640px){.signup .radio-group{flex-direction:row;gap:2rem}}.form-actions{margin-top:1rem;padding-top:1rem}
