:root,[data-theme=light]{--primary-color: #232323;--primary-light: #3d3d3d;--primary-dark: #0a0a0a;--secondary-color: #5d5d5d;--secondary-light: #8d8d8d;--secondary-dark: #2d2d2d;--accent-color: #ff4081;--accent-light: #ff79b0;--accent-dark: #c60055;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #eeeeee;--bg-elevated: #ffffff;--text-primary: #212121;--text-secondary: #757575;--text-tertiary: #9e9e9e;--text-disabled: #bdbdbd;--text-inverse: #ffffff;--border-color: #e0e0e0;--border-light: #eeeeee;--border-dark: #bdbdbd;--status-success: #4caf50;--status-success-bg: #e8f5e9;--status-warning: #ff9800;--status-warning-bg: #fff3e0;--status-error: #f44336;--status-error-bg: #ffebee;--status-info: #2196f3;--status-info-bg: #e3f2fd;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--overlay-bg: rgba(0, 0, 0, .5);--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(0, 0, 0, .08)}[data-theme=dark]{--primary-color: #42a5f5;--primary-light: #80d6ff;--primary-dark: #0077c2;--secondary-color: #bdbdbd;--secondary-light: #efefef;--secondary-dark: #8d8d8d;--accent-color: #ff4081;--accent-light: #ff79b0;--accent-dark: #c60055;--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2c2c2c;--bg-elevated: #1e1e1e;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #808080;--text-disabled: #666666;--text-inverse: #000000;--border-color: #424242;--border-light: #333333;--border-dark: #666666;--status-success: #66bb6a;--status-success-bg: #1b3a1f;--status-warning: #ffa726;--status-warning-bg: #3d2914;--status-error: #ef5350;--status-error-bg: #3d1414;--status-info: #42a5f5;--status-info-bg: #142838;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--overlay-bg: rgba(0, 0, 0, .7);--hover-bg: rgba(255, 255, 255, .08);--active-bg: rgba(255, 255, 255, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:500;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin:0 0 1rem}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark);text-decoration:underline}.auto-link{color:#2196f3;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease;word-break:break-word}.auto-link:hover{color:#1976d2;border-bottom-color:#1976d2;text-decoration:none}.auto-link:visited{color:#673ab7}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:4px;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:all .2s ease}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--primary-color);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary-color);color:var(--text-inverse)}.btn-secondary:hover{background-color:var(--secondary-dark)}[data-theme=dark] .btn-secondary{color:var(--bg-primary)}.btn-outline{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:var(--text-inverse)}input,textarea,select{font-family:inherit;font-size:inherit;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.card{background-color:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:500;margin:0}.card-body{margin-bottom:0}.card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}.slide-down{animation:slideDown .3s ease}@media(max-width:768px){html{font-size:13px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}}button{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.625rem 1rem;color:inherit;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}
