:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;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:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.monaco-editor-container{display:flex;flex-direction:column;background-color:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #0000001a;position:relative}.monaco-editor-container.dark-theme{background-color:#1e1e1e;box-shadow:0 2px 8px #0000004d}.monaco-editor-toolbar{display:flex;align-items:center;justify-content:space-between;background-color:#f0f0f0;border-bottom:1px solid #ccc;padding:8px 12px;flex-wrap:wrap;gap:8px;height:40px;box-sizing:border-box}.toolbar-group{display:flex;align-items:center;gap:6px}.monaco-editor-toolbar button{background-color:#007acc;color:#fff;border:none;padding:4px 10px;border-radius:3px;cursor:pointer;font-size:12px;transition:background-color .2s;height:24px;display:flex;align-items:center;gap:4px}.monaco-editor-toolbar button:hover:not(:disabled){background-color:#0097ff}.monaco-editor-toolbar button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.monaco-editor-container.dark-theme .monaco-editor-toolbar{background-color:#2d2d30;border-bottom:1px solid #464647}.monaco-editor-container.dark-theme .monaco-editor-toolbar button:disabled{background-color:#464647;color:#858585;cursor:not-allowed}.monaco-editor-statusbar{display:flex;align-items:center;justify-content:space-between;background-color:#f7f7f7;border-top:1px solid #ccc;padding:0 12px;height:22px;box-sizing:border-box;font-size:11px;color:#333;gap:12px}.monaco-editor-statusbar .status-items-group{display:flex;align-items:center;gap:15px}.monaco-editor-statusbar .beian-info{margin-left:auto;color:#17b}.monaco-editor-container.dark-theme .monaco-editor-statusbar{background-color:#252526;border-top:1px solid #464647;color:#ccc}.status-item{display:flex;align-items:center;padding:0 4px}.monaco-editor-container .react-monaco-editor-container{flex:1;overflow:hidden}@media(max-width:768px){.monaco-editor-toolbar{height:auto;padding:6px 8px}.toolbar-group{gap:4px}.monaco-editor-toolbar button{padding:3px 8px;font-size:11px}.monaco-editor-statusbar{font-size:10px;padding:0 8px;gap:8px}}.monaco-editor-container.dark-theme{background-color:#1e1e1e}.monaco-editor-container.dark-theme .monaco-editor-toolbar{background-color:#2d2d30;border-bottom-color:#464647}.monaco-editor-container.dark-theme .monaco-editor-toolbar button{background-color:#0e639c;color:#fff}.monaco-editor-container.dark-theme .monaco-editor-toolbar button:hover:not(:disabled){background-color:#17b}.monaco-editor-container.dark-theme .monaco-editor-toolbar button:disabled{background-color:#464647;color:#858585}.monaco-editor-container.dark-theme .monaco-editor-statusbar{background-color:#252526;border-top-color:#464647;color:#ccc}.monaco-editor-container ::-webkit-scrollbar{width:8px;height:8px}.monaco-editor-container ::-webkit-scrollbar-track{background:#f1f1f1}.monaco-editor-container ::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.monaco-editor-container ::-webkit-scrollbar-thumb:hover{background:#555}.monaco-editor-container.dark-theme ::-webkit-scrollbar-track{background:#1e1e1e}.monaco-editor-container.dark-theme ::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.monaco-editor-container.dark-theme ::-webkit-scrollbar-thumb:hover{background:#777}.monaco-editor-focused .monaco-editor-container{box-shadow:0 0 0 2px #007acc4d}.monaco-editor-toolbar button{transition:all .2s ease}.monaco-editor-toolbar button:active:not(:disabled){transform:scale(.98)}.monaco-editor-container.loading{position:relative}.monaco-editor-container.loading:after{content:"";position:absolute;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center}.monaco-editor-container.loading:before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid #f3f3f3;border-top:3px solid #0e639c;border-radius:50%;animation:spin 1s linear infinite;z-index:1}.monaco-editor-container .error-message{color:#f44747;background-color:#f3f3f3;padding:8px 12px;border-left:3px solid #f44747;margin:8px 0;font-size:12px}.monaco-editor-container.dark-theme .error-message{color:#f44747;background-color:#2d2d30;border-left:3px solid #f44747}.monaco-editor-container .success-message{color:#4ec9b0;background-color:#f3f3f3;padding:8px 12px;border-left:3px solid #4ec9b0;margin:8px 0;font-size:12px}.monaco-editor-container.dark-theme .success-message{color:#4ec9b0;background-color:#2d2d30;border-left:3px solid #4ec9b0}.notification{position:fixed;display:flex;align-items:center;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background-color:#fff;border:1px solid #e5e7eb;z-index:10000;max-width:360px;animation:slideIn .3s ease-out;transition:all .3s ease-out}.notification-top-right{top:20px;right:20px}.notification-top-left{top:20px;left:20px}.notification-bottom-right{bottom:20px;right:20px}.notification-bottom-left{bottom:20px;left:20px}.notification-top-center{top:20px;left:50%;transform:translate(-50%)}.notification-bottom-center{bottom:20px;left:50%;transform:translate(-50%)}.notification-info{background-color:#f0f9ff;border-color:#bae6fd;color:#0369a1}.notification-success{background-color:#f0fdf4;border-color:#bbf7d0;color:#15803d}.notification-warning{background-color:#fffbeb;border-color:#fef08a;color:#b45309}.notification-error{background-color:#fef2f2;border-color:#fecaca;color:#b91c1c}.notification-icon{margin-right:12px;font-size:18px;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.notification-info .notification-icon{background-color:#bae6fd;color:#0369a1}.notification-success .notification-icon{background-color:#bbf7d0;color:#15803d}.notification-warning .notification-icon{background-color:#fef08a;color:#b45309}.notification-error .notification-icon{background-color:#fecaca;color:#b91c1c}.notification-content{flex:1;font-size:14px;line-height:1.5;word-wrap:break-word}.notification-close-button{background:none;border:none;font-size:20px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-left:12px;opacity:.7;transition:opacity .2s;color:inherit}.notification-close-button:hover{opacity:1}.notification-progress-container{position:absolute;bottom:0;left:0;right:0;height:3px;background-color:#0000001a;border-radius:0 0 8px 8px;overflow:hidden}.notification-progress-bar{height:100%;background-color:currentColor;transition:width .1s linear}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-top-right{animation:slideInRight .3s ease-out}.notification-top-left{animation:slideInLeft .3s ease-out}.notification-bottom-right{animation:slideInRightBottom .3s ease-out}.notification-bottom-left{animation:slideInLeftBottom .3s ease-out}.notification-top-center,.notification-bottom-center{animation:slideIn .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRightBottom{0%{opacity:0;transform:translate(100%,100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeftBottom{0%{opacity:0;transform:translate(-100%,100%)}to{opacity:1;transform:translate(0)}}.notification.hidden{opacity:0;transform:translateY(-20px)}@media(max-width:768px){.notification{max-width:calc(100% - 40px);font-size:13px}.notification-top-center,.notification-bottom-center{left:20px;right:20px;transform:none}.notification-content{font-size:13px}}.dark-theme .notification{background-color:#2d2d30;border-color:#464647;color:#ccc}.dark-theme .notification-info{background-color:#1e3a8a;border-color:#3b82f6;color:#bfdbfe}.dark-theme .notification-success{background-color:#166534;border-color:#22c55e;color:#bbf7d0}.dark-theme .notification-warning{background-color:#92400e;border-color:#f59e0b;color:#fef08a}.dark-theme .notification-error{background-color:#991b1b;border-color:#ef4444;color:#fecaca}.dark-theme .notification-progress-container{background-color:#ffffff1a}#notification-container{position:fixed;z-index:10000}#notification-container.top-right{top:0;right:0;padding:20px}#notification-container .notification{position:relative;margin-bottom:12px}.notification:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container{background:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 10px 30px #0003;width:100%;max-width:480px;animation:slideUp .5s ease-out;position:relative}.login-language-switcher{position:absolute;top:20px;right:20px}.login-language-select{padding:6px 8px;border:1px solid #ddd;border-radius:6px;background-color:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;min-width:80px}.login-language-select:hover{border-color:#667eea}.login-language-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:25px}.login-logo{width:70px;height:70px;border-radius:50%;margin-bottom:15px;object-fit:cover;box-shadow:0 4px 10px #0000001a}.login-header h1{color:#333;margin:0 0 8px;font-size:24px;font-weight:700}.login-subtitle{color:#666;margin:0;font-size:14px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{color:#d32f2f;font-size:12px;text-align:center;margin-bottom:10px;padding:0;background:transparent;border:none}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.form-group label{color:#333;font-weight:500;font-size:14px}.form-group input{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-group input::placeholder{color:#999}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 15px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.switch-mode{text-align:center;margin-top:10px;padding-top:10px;border-top:1px solid #eee;color:#666;font-size:16px}.switch-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;margin-left:5px;text-decoration:underline;font-size:16px}.switch-button:hover{color:#764ba2}.guest-login-section{margin-top:15px;text-align:center}.or-divider{margin:12px 0;color:#666;font-size:14px;font-weight:500}.guest-login-button{background:#f8f9fa;color:#495057;border:1px solid #dee2e6;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;width:100%;margin-bottom:8px}.guest-login-button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.guest-login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.guest-login-note{color:#6c757d;font-size:12px;margin:0;line-height:1.4}.login-beian-info{margin-top:15px;display:flex;justify-content:center;align-items:center;font-size:10px;color:#666;text-align:center;line-height:1}.login-beian-info a{color:#666;text-decoration:none;display:inline-flex;align-items:center;gap:2px}.login-beian-info a:hover{text-decoration:underline;color:#444}.beian-separator{margin:0 4px;color:#ccc}.beian-gongan-logo{width:12px;height:12px;margin-right:2px;vertical-align:middle}.dark-theme .login-beian-info,.dark-theme .login-beian-info a{color:#aaa}.dark-theme .login-beian-info a:hover{color:#ccc}.dark-theme .beian-separator{color:#666}@media(max-width:480px){.login-container{padding:30px 20px;margin:0 10px}.login-header h1{font-size:24px}.login-logo{width:60px;height:60px}}@media(prefers-color-scheme:dark){.login-container{background:#1a1a1a;color:#fff}.login-header h1{color:#fff}.login-subtitle{color:#ccc}.form-group label{color:#fff}.form-group input{background:#2d2d2d;border-color:#444;color:#fff}.form-group input::placeholder{color:#888}.switch-mode{color:#ccc;border-top-color:#444}.login-language-select{background-color:#2d2d2d;border-color:#444;color:#fff}.login-language-select:hover{border-color:#667eea}.login-language-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.login-beian-info{margin-top:10px;font-size:9px;flex-wrap:wrap}.login-beian-info a{color:#666}.login-beian-info a:hover{color:#888}.beian-separator{margin:0 3px}}.admin-dashboard{padding:20px 40px;max-width:1200px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;box-sizing:border-box}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.admin-header h1{color:#333;margin:0;font-size:2rem}.admin-controls .refresh-button{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .2s}.admin-controls .refresh-button:hover{background:#0056b3}.admin-loading,.admin-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;min-height:100vh;text-align:center}.admin-error{color:#dc3545}.admin-error .refresh-button{margin-top:20px;background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer}.admin-error .refresh-button:hover{background:#c82333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:25px;text-align:center;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-value{font-size:2.5rem;font-weight:700;color:#007bff;margin-bottom:10px}.stat-label{font-size:1rem;color:#666;font-weight:500}.activity-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:25px;margin-bottom:40px;box-shadow:0 2px 4px #0000001a}.activity-section h3{margin:0 0 20px;color:#333;font-size:1.3rem}.activity-chart{display:flex;align-items:flex-end;gap:16px;height:180px;padding:20px 0;justify-content:space-between}.activity-bar{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;flex:1;max-width:25px}.activity-fill{background:linear-gradient(to top,#007bff,#66b3ff);width:100%;border-radius:5px 5px 0 0;min-height:5px;transition:height .3s ease;cursor:pointer}.activity-label{margin-top:5px;text-align:center;font-size:.65rem;color:#666;line-height:1.2}.users-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:25px;box-shadow:0 2px 4px #0000001a}.users-section h3{margin:0 0 20px;color:#333;font-size:1.3rem}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th,.users-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e0e0e0}.users-table th{background:#f8f9fa;font-weight:600;color:#333}.users-table tr:hover{background:#f8f9fa}.role-badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.role-badge.admin{background:#dc3545;color:#fff}.role-badge.user{background:#28a745;color:#fff}.role-badge.guest{background:#6c757d;color:#fff}.dark-theme .admin-dashboard{background:#1a1a1a;color:#e0e0e0}.dark-theme .admin-header h1{color:#e0e0e0}.dark-theme .stat-card,.dark-theme .activity-section,.dark-theme .users-section{background:#2d2d2d;border-color:#404040;color:#e0e0e0}.dark-theme .stat-value{color:#66b3ff}.dark-theme .stat-label{color:#b0b0b0}.dark-theme .users-table th{background:#404040;color:#e0e0e0}.dark-theme .users-table tr:hover{background:#404040}.dark-theme .activity-fill{background:linear-gradient(to top,#66b3ff,#9cf)}@media(max-width:768px){.admin-dashboard{padding:10px}.admin-header{flex-direction:column;gap:15px;text-align:center}.stats-grid{grid-template-columns:1fr;gap:15px}.activity-chart{flex-direction:column;height:auto;gap:10px}.activity-bar{flex-direction:row;align-items:center;height:auto}.activity-fill{width:100%;height:20px;border-radius:0 5px 5px 0}.activity-label{margin-top:0;margin-left:10px;min-width:60px}.users-table{font-size:.8rem}.users-table th,.users-table td{padding:8px 10px}}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;overflow:hidden;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-small{max-width:400px}.dialog-medium{max-width:600px}.dialog-large{max-width:800px}.dialog-fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.dialog-title{margin:0;font-size:18px;font-weight:600;color:#111827}.dialog-close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.dialog-close-button:hover{background-color:#e5e7eb;color:#374151}.dialog-body{padding:20px;overflow-y:auto;flex:1}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background-color:#f9fafb}.dialog-cancel-button,.dialog-confirm-button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-cancel-button{background-color:#fff;color:#374151}.dialog-cancel-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.dialog-confirm-button{background-color:#165dff;color:#fff;border-color:#165dff}.dialog-confirm-button:hover:not(.disabled){background-color:#0d47a1;border-color:#0d47a1}.dialog-confirm-button.disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed;opacity:.6}@media(max-width:768px){.dialog-container{width:95%;margin:10px}.dialog-header,.dialog-body,.dialog-footer{padding:12px 16px}.dialog-title{font-size:16px}.dialog-cancel-button,.dialog-confirm-button{padding:6px 12px;font-size:13px}}.dark-theme .dialog-container{background-color:#1e1e1e;color:#fff}.dark-theme .dialog-header,.dark-theme .dialog-footer{background-color:#2d2d30;border-color:#464647}.dark-theme .dialog-title{color:#fff}.dark-theme .dialog-cancel-button{background-color:#3c3c3c;color:#ccc;border-color:#5a5a5a}.dark-theme .dialog-cancel-button:hover{background-color:#4a4a4a;border-color:#6a6a6a}.dark-theme .dialog-confirm-button.disabled{background-color:#4a4a4a;border-color:#5a5a5a}.dialog-container.slide-in-from-top{animation:slideInFromTop .3s ease-out}@keyframes slideInFromTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-container.fade-in{animation:fadeIn .3s ease-out}.dialog-body::-webkit-scrollbar{width:8px}.dialog-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.dialog-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.dialog-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dark-theme .dialog-body::-webkit-scrollbar-track{background:#2d2d30}.dark-theme .dialog-body::-webkit-scrollbar-thumb{background:#5a5a5a}.dark-theme .dialog-body::-webkit-scrollbar-thumb:hover{background:#6a6a6a}.filename-dialog{display:flex;flex-direction:column;gap:12px}.filename-dialog p{margin:0;font-size:14px;color:#374151}.filename-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s;width:100%;box-sizing:border-box}.filename-input:focus{outline:none;border-color:#165dff;box-shadow:0 0 0 3px #165dff1a}.filename-dialog small{font-size:12px;color:#6b7280}.dark-theme .filename-dialog p{color:#e5e7eb}.dark-theme .filename-input{background-color:#3c3c3c;color:#fff;border-color:#5a5a5a}.dark-theme .filename-input:focus{border-color:#165dff;box-shadow:0 0 0 3px #165dff33}.dark-theme .filename-dialog small{color:#9ca3af}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s;width:100%;box-sizing:border-box}.form-input:focus{outline:none;border-color:#165dff;box-shadow:0 0 0 3px #165dff1a}.form-error{font-size:12px;color:#ef4444;margin-top:4px}.auth-form-footer{margin-top:8px;text-align:center;font-size:14px;color:#6b7280}.auth-form-footer button{background:none;border:none;color:#165dff;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:underline;transition:color .2s}.auth-form-footer button:hover{color:#0d47a1}.dark-theme .form-group label{color:#e5e7eb}.dark-theme .form-input{background-color:#3c3c3c;color:#fff;border-color:#5a5a5a}.dark-theme .form-input:focus{border-color:#165dff;box-shadow:0 0 0 3px #165dff33}.dark-theme .form-error{color:#f87171}.dark-theme .auth-form-footer{color:#9ca3af}.dark-theme .auth-form-footer button{color:#60a5fa}.dark-theme .auth-form-footer button:hover{color:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;transition:background-color .3s,color .3s}body.dark-theme{background-color:#1e1e1e;color:#ccc}#root{width:100vw;height:100vh;max-width:none;margin:0;padding:0;text-align:left}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:60px;background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000001a;z-index:10;transition:background-color .3s,border-color .3s}body.dark-theme .app-header{background-color:#2d2d30;border-bottom-color:#464647}.header-left{display:flex;align-items:center;gap:30px}.header-title{display:flex;align-items:center;gap:12px}.user-section{display:flex;align-items:center;gap:6px}.user-avatar{font-size:16px;color:#6c757d;cursor:pointer;position:relative;transition:color .2s ease}.user-avatar:hover{color:#165dff}body.dark-theme .user-avatar{color:#8b949e}body.dark-theme .user-avatar:hover{color:#4da6ff}.user-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;font-size:14px;color:#374151;white-space:nowrap;box-shadow:0 4px 6px #0000001a;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;margin-top:5px}.user-avatar:hover .user-tooltip{opacity:1;visibility:visible}body.dark-theme .user-tooltip{background-color:#2d2d30;border-color:#464647;color:#ccc;box-shadow:0 4px 6px #0000004d}.logout-button{background:none;border:none;color:#165dff;font-size:13px;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.logout-button:hover{color:#0d47a1;text-decoration:none}body.dark-theme .logout-button{color:#4da6ff}body.dark-theme .logout-button:hover{color:#3b82f6}.header-logo{width:32px;height:32px;border-radius:6px;object-fit:cover}.app-header h1{font-size:20px;font-weight:600;color:#111827;margin:0}body.dark-theme .app-header h1{color:#fff}.about-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.about-logo{width:48px;height:48px;border-radius:8px;object-fit:cover}.header-controls{display:flex;gap:10px;align-items:center}.control-button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;height:36px;display:flex;align-items:center;gap:6px}.control-button:hover{background-color:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}body.dark-theme .control-button{background-color:#3c3c3c;color:#ccc;border-color:#5a5a5a}body.dark-theme .control-button:hover{background-color:#4a4a4a;border-color:#6a6a6a;box-shadow:0 2px 4px #0000004d}.language-switcher{display:flex;align-items:center;margin-left:auto}.language-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;height:36px;min-width:80px;max-width:100px}.language-select:hover{background-color:#f3f4f6;border-color:#9ca3af}body.dark-theme .language-select{background-color:#3c3c3c;color:#ccc;border-color:#5a5a5a}body.dark-theme .language-select:hover{background-color:#4a4a4a;border-color:#6a6a6a}.app-main{flex:1;display:flex;overflow:auto;padding:0}.stats-container{display:flex;flex-direction:column;gap:12px}.stat-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}body.dark-theme .stat-item{border-bottom-color:#464647}.stat-label{font-weight:500;color:#374151}body.dark-theme .stat-label{color:#ccc}.stat-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:#165dff;font-weight:600}body.dark-theme .stat-value{color:#4da6ff}.donate-container{line-height:1.6;text-align:center}.donate-container h3{margin:0 0 16px;color:#111827;font-size:20px}body.dark-theme .donate-container h3{color:#fff}.donate-container p{margin-bottom:20px;color:#374151;font-size:14px}body.dark-theme .donate-container p{color:#ccc}.donate-qr-section{margin:12px 0;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}body.dark-theme .donate-qr-section{background-color:#2d2d30;border-color:#464647}.donate-paypal-section{margin:12px 0;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;display:flex;justify-content:center;align-items:center}body.dark-theme .donate-paypal-section{background-color:#2d2d30;border-color:#464647}.pp-WEWLDYK5WECK2{text-align:center;border:none;border-radius:.25rem;min-width:11.625rem;padding:0 2rem;height:2.625rem;font-weight:700;background-color:#ffd140;color:#000;font-family:Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.25rem;cursor:pointer}.paypal-form{display:flex;flex-direction:column;align-items:center;gap:.5rem}.paypal-support-text{font-size:.75rem}.paypal-support-text img{height:.875rem;vertical-align:middle}body.dark-theme .donate-paypal-section img{filter:brightness(.95)}.donate-qr-section h4{margin:0 0 15px;color:#111827;font-size:16px}body.dark-theme .donate-qr-section h4{color:#fff}.donate-qr-code{width:320px;height:320px;border-radius:8px;border:2px solid #e9ecef;margin:0 auto 15px;display:block}body.dark-theme .donate-qr-code{border-color:#464647}.donate-instruction{margin:0;color:#6c757d;font-size:13px}body.dark-theme .donate-instruction{color:#8b949e}.donate-info{margin-top:12px;text-align:left}.donate-info h4{margin:0 0 12px;color:#111827;font-size:16px}body.dark-theme .donate-info h4{color:#fff}.donate-info ul{padding-left:20px;margin:0}.donate-info li{margin-bottom:6px;color:#374151;font-size:14px}body.dark-theme .donate-info li{color:#ccc}.about-container{line-height:1.6}.about-container h3{margin:16px 0 8px;color:#111827}body.dark-theme .about-container h3{color:#fff}.about-container p{margin-bottom:12px;color:#374151}body.dark-theme .about-container p{color:#ccc}.about-container ul{padding-left:20px;margin-bottom:16px}.about-container li{margin-bottom:4px;color:#374151}body.dark-theme .about-container li{color:#ccc}@media(max-width:768px){.app-header{flex-direction:column;height:auto;padding:10px;gap:10px}.app-header h1{font-size:18px}.header-controls{flex-wrap:wrap;justify-content:center;gap:8px}.control-button{padding:6px 12px;font-size:13px;height:32px}.stats-container{gap:8px}.stat-item{padding:6px 0}}@media(max-width:480px){.app-header h1{font-size:16px}.header-controls{gap:6px}.control-button{padding:5px 10px;font-size:12px;height:28px}}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;background-color:#f5f5f5}body.dark-theme .app-loading{background-color:#1e1e1e}.app-loading:after{content:"";width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #165dff;border-radius:50%;animation:spin 1s linear infinite}body.dark-theme .app-loading:after{border-color:#2d2d30;border-top-color:#4da6ff}.app-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:20px;text-align:center;background-color:#fef2f2}body.dark-theme .app-error{background-color:#991b1b}.app-error h2{color:#b91c1c;margin-bottom:12px}body.dark-theme .app-error h2{color:#fecaca}.app-error p{color:#374151;margin-bottom:20px}body.dark-theme .app-error p{color:#fecaca}.app-error button{padding:10px 20px;background-color:#165dff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.app-error button:hover{background-color:#0d47a1}body.dark-theme .app-error button{background-color:#4da6ff}body.dark-theme .app-error button:hover{background-color:#3b82f6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}body.dark-theme ::-webkit-scrollbar-track{background:#2d2d30}body.dark-theme ::-webkit-scrollbar-thumb{background:#5a5a5a}body.dark-theme ::-webkit-scrollbar-thumb:hover{background:#6a6a6a}.feedback-container{line-height:1.6}.feedback-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:10px;margin-bottom:15px;font-size:14px}body.dark-theme .feedback-warning{background-color:#332701;border-color:#665c00;color:#f0f0f0}.feedback-warning strong{color:#856404}body.dark-theme .feedback-warning strong{color:gold}.feedback-warning p{margin:5px 0 0;font-size:13px}.feedback-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#374151;font-size:14px}body.dark-theme .form-group label{color:#ccc}.radio-group{display:flex;gap:20px;align-items:center}.radio-group label{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer}.radio-group input[type=radio]{margin:0}.feedback-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;transition:border-color .2s}.feedback-input:focus{outline:none;border-color:#165dff;box-shadow:0 0 0 2px #165dff1a}body.dark-theme .feedback-input{background-color:#2d2d30;border-color:#5a5a5a;color:#ccc}body.dark-theme .feedback-input:focus{border-color:#4da6ff;box-shadow:0 0 0 2px #4da6ff33}.feedback-textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s}.feedback-textarea:focus{outline:none;border-color:#165dff;box-shadow:0 0 0 2px #165dff1a}body.dark-theme .feedback-textarea{background-color:#2d2d30;border-color:#5a5a5a;color:#ccc}body.dark-theme .feedback-textarea:focus{border-color:#4da6ff;box-shadow:0 0 0 2px #4da6ff33}.feedback-email-note{font-size:12px;color:#10b981;margin-top:4px;font-style:italic}body.dark-theme .feedback-email-note{color:#34d399}.feedback-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}body.dark-theme .feedback-input:disabled{background-color:#374151;color:#9ca3af}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-container p{font-size:16px;font-weight:500;margin:0;opacity:.9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
