: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}}*{margin:0;padding:0;box-sizing:border-box}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;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:2rem 1rem;text-align:center;box-shadow:0 2px 10px #0000001a}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.app-description{font-size:1.1rem;opacity:.9}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.controls-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.search-form{display:flex;gap:.5rem;flex:1;min-width:300px}.search-input{flex:1;padding:.75rem 1rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-button{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.search-button:hover{background:#5a67d8}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-label{font-weight:500;color:#4a5568}.sort-select{padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;background:white;cursor:pointer}.submissions-list{margin-top:1rem}.results-count{margin-bottom:1rem;font-size:1rem;color:#666;font-weight:500}.submissions-container{display:flex;flex-direction:column;gap:1.5rem}.submission-card{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.submission-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #f0f0f0}.info h3.name{font-size:1.3rem;color:#2d3748;margin-bottom:.25rem}.info p.department{color:#666;font-size:1rem}.score-badge{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%);color:#fff;padding:.75rem 1rem;border-radius:50px;font-size:1.25rem;font-weight:700;min-width:60px;text-align:center}.toggle-button{width:100%;padding:1rem;background:#f8f9fa;border:none;border-top:1px solid #f0f0f0;cursor:pointer;font-size:1rem;color:#667eea;font-weight:500;transition:background-color .3s ease}.toggle-button:hover{background:#e9ecef}.details{padding:1.5rem;background:#fafafa;border-top:1px solid #f0f0f0}.lyrics-section,.ai-review-section{margin-bottom:1.5rem}.lyrics-section:last-child,.ai-review-section:last-child{margin-bottom:0}.details h4{color:#2d3748;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.lyrics-content{background:white;padding:1rem;border-radius:8px;border:1px solid #e1e5e9;white-space:pre-wrap;font-family:inherit;line-height:1.6;color:#4a5568}.lyrics-editor{width:100%;min-height:260px;resize:vertical;font-family:inherit;line-height:1.6}.ai-review-content{background:white;padding:1rem;border-radius:8px;border:1px solid #e1e5e9;line-height:1.6}.ai-review-content h1,.ai-review-content h2,.ai-review-content h3{color:#2d3748;margin-top:1rem;margin-bottom:.5rem}.ai-review-content p{margin-bottom:.75rem;color:#4a5568}.ai-review-content strong{color:#2d3748}.divider{border:none;height:1px;background:#e1e5e9;margin:1.5rem 0}.loading-container,.empty-container,.error-container{text-align:center;padding:3rem 1rem;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.loading-text,.empty-text{font-size:1.1rem;color:#666}.error-message{color:#e53e3e;font-size:1.1rem;margin-bottom:1rem}.retry-button{padding:.75rem 1.5rem;background:#e53e3e;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.retry-button:hover{background:#c53030}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-main{padding:1rem}.controls-bar{flex-direction:column;align-items:stretch}.search-form{min-width:auto}.view-controls{justify-content:center}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header{display:none}.table-row{display:block;padding:1rem;border:1px solid #e9ecef;border-radius:8px;margin-bottom:.5rem;background:white}.table-row:hover{background:white;box-shadow:0 2px 8px #0000001a}.col-name,.col-department,.col-score,.col-lyrics,.col-actions{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.col-actions{border-bottom:none;justify-content:center}.col-name:before{content:"姓名: ";font-weight:600;color:#666}.col-department:before{content:"部门: ";font-weight:600;color:#666}.col-score:before{content:"评分: ";font-weight:600;color:#666}.col-lyrics:before{content:"歌词: ";font-weight:600;color:#666}}.app-footer{background:#2d3748;color:#fff;text-align:center;padding:1.5rem;margin-top:2rem}.split-pane{display:flex;align-items:stretch;gap:.75rem}.split-pane-left,.split-pane-right{background:transparent;overflow:auto}.split-pane-divider{width:6px;min-width:6px;background:#e9ecef;border-radius:4px;cursor:col-resize;position:relative}.split-pane-divider.dragging{background:#cbd5e0}.split-pane-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:24px;background:linear-gradient(180deg,#cbd5e0 0%,#e2e8f0 100%);border-radius:3px;box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.split-pane{flex-direction:column}.split-pane-divider{display:none}.split-pane-left,.split-pane-right{width:100%!important}}.view-controls{display:flex;align-items:center;gap:.5rem}.view-label{font-weight:500;color:#555;font-size:.9rem}.view-buttons{display:flex;gap:.25rem;background:#f8f9fa;padding:.25rem;border-radius:8px}.view-button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;color:#666}.view-button:hover{background:#e9ecef;color:#333}.view-button.active{background:#667eea;color:#fff;box-shadow:0 2px 4px #667eea33}.view-icon{font-size:1rem}.list-view{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.list-header{padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.list-count{font-size:.9rem;color:#666;font-weight:500}.list-table{width:100%}.table-header{display:grid;grid-template-columns:1fr 1fr 80px 2fr 80px;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:2px solid #e9ecef;font-weight:600;color:#555;font-size:.9rem}.table-body{max-height:600px;overflow-y:auto}.table-row{display:grid;grid-template-columns:1fr 1fr 80px 2fr 80px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease;align-items:center}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.col-name .name-text{font-weight:500;color:#333}.col-department .department-badge{display:inline-block;padding:.25rem .5rem;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:.8rem;font-weight:500}.col-score .score-badge{display:inline-flex;align-items:center;justify-content:center;width:50px;height:30px;border-radius:6px;font-weight:600;font-size:.9rem}.score-excellent{background:#e8f5e8;color:#2e7d32}.score-good{background:#fff3e0;color:#f57c00}.score-average{background:#fff8e1;color:#f9a825}.score-poor{background:#ffebee;color:#d32f2f}.col-lyrics .lyrics-preview{color:#666;font-size:.9rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.col-actions .view-details-btn{padding:.4rem .8rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background-color .2s ease}.col-actions .view-details-btn:hover{background:#5a67d8}.btn-primary{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background:#5a67d8}.btn-danger{padding:.5rem 1rem;background:#e53e3e;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.btn-danger:hover{background:#c53030}.input-primary{border:2px solid #e1e5e9;border-radius:8px;padding:6px 10px;width:240px;font-size:.95rem}.input-primary:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}textarea.input-primary{min-height:2.6em;resize:vertical;line-height:1.4}.input-small{font-size:.85rem}.audio-actions{display:flex;align-items:center;gap:12px}.table-row-details{grid-column:1 / -1;background:#f8f9fa;border-bottom:1px solid #e9ecef}.details-content{padding:1.5rem}.details-section{margin-bottom:1.5rem}.details-section:last-child{margin-bottom:0}.details-section h4{color:#333;margin-bottom:.75rem;font-size:1rem;font-weight:600}.lyrics-content{background:white;padding:1rem;border-radius:8px;border:1px solid #e9ecef;white-space:pre-wrap;line-height:1.6;color:#555;font-size:.95rem}.ai-review-content{background:white;padding:1rem;border-radius:8px;border:1px solid #e9ecef;line-height:1.6;color:#555;font-size:.95rem}.details-meta{padding-top:1rem;border-top:1px solid #e9ecef;color:#888;font-size:.85rem}.audio-badge{display:inline-block;margin-top:0;background:#ebf4ff;color:#667eea;border:1px solid #c3dafe;padding:.25rem .5rem;border-radius:999px;font-size:.8rem;font-weight:500}.header-right{display:flex;align-items:center;gap:.5rem}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid #c3dafe;background:#ebf4ff;color:#667eea;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.icon-button:hover{background:#e6efff;box-shadow:0 2px 6px #667eea40}.list-view .loading-state,.list-view .error-state,.list-view .empty-state{padding:3rem 1.5rem;text-align:center}.list-view .loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.list-view .error-state p{color:#d32f2f;margin-bottom:1rem}.list-view .retry-button{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.list-view .retry-button:hover{background:#5a67d8}.list-view .empty-state p{color:#888;font-size:1.1rem}@media (max-width: 768px){.controls-bar{flex-direction:column;align-items:stretch}.search-form{min-width:auto}.view-controls{justify-content:center}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header{display:none}.table-row{display:block;padding:1rem;border:1px solid #e9ecef;border-radius:8px;margin-bottom:.5rem;background:white}.table-row:hover{background:white;box-shadow:0 2px 8px #0000001a}.col-name,.col-department,.col-score,.col-lyrics,.col-actions{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.col-actions{border-bottom:none;justify-content:center}.col-name:before{content:"姓名: ";font-weight:600;color:#666}.col-department:before{content:"部门: ";font-weight:600;color:#666}.col-score:before{content:"评分: ";font-weight:600;color:#666}.col-lyrics:before{content:"歌词: ";font-weight:600;color:#666}}@media (max-width: 480px){.app-header{padding:1.5rem 1rem}.app-header h1{font-size:1.75rem}.controls-bar{padding:1rem}.search-form{flex-direction:column}.search-button{width:100%}}
