:root{--color-primary:#07c160;--color-primary-hover:#06ad56;--color-primary-light:#e8f8ee;--color-type-red:#e74c3c;--color-type-orange:#e67e22;--color-type-yellow:#f1c40f;--color-type-blue:#3498db;--color-type-purple:#9b59b6;--color-type-cyan:#1abc9c;--color-suggestion-bg:#f0fdf4;--color-suggestion-border:#86efac;--color-suggestion-text:#166534;--color-bg:#f5f5f5;--color-surface:#fff;--color-border:#e5e7eb;--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--max-width:800px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.6;min-height:100vh}.page-container{max-width:var(--max-width);margin:0 auto;padding:48px 20px 80px}.header{text-align:center;margin-bottom:40px}.header h1{font-size:28px;font-weight:700;color:var(--color-text-primary);letter-spacing:.5px}.header p{margin-top:10px;font-size:15px;color:var(--color-text-secondary);line-height:1.5}.input-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:32px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.input-row{display:flex;gap:12px;align-items:center}.input-row input{flex:1 1;height:48px;padding:0 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:15px;color:var(--color-text-primary);background:var(--color-surface);outline:none;transition:border-color .2s,box-shadow .2s}.input-row input::placeholder{color:var(--color-text-tertiary)}.input-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(7,193,96,.12)}.input-row input.error{border-color:var(--color-type-red);box-shadow:0 0 0 3px rgba(231,76,60,.12)}.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 28px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s,opacity .2s,transform .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.input-hint{margin-top:10px;font-size:13px;color:var(--color-type-red);min-height:20px;transition:opacity .2s}.input-hint:empty{opacity:0}.result-section{animation:fadeInUp .35s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stats-bar{display:inline-block;background:var(--color-primary-light);color:var(--color-primary-hover);padding:10px 20px;border-radius:var(--radius-md);font-size:15px;font-weight:600;margin-bottom:20px}.issue-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:16px;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s}.issue-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.issue-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:var(--radius-md) 0 0 var(--radius-md)}.issue-card.type-red:before{background:var(--color-type-red)}.issue-card.type-orange:before{background:var(--color-type-orange)}.issue-card.type-yellow:before{background:var(--color-type-yellow)}.issue-card.type-blue:before{background:var(--color-type-blue)}.issue-card.type-purple:before{background:var(--color-type-purple)}.issue-card.type-cyan:before{background:var(--color-type-cyan)}.issue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.issue-position{font-size:14px;font-weight:600;color:var(--color-text-primary)}.issue-type-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap}.issue-card.type-red .issue-type-tag{background:#fef2f2;color:var(--color-type-red)}.issue-card.type-orange .issue-type-tag{background:#fff7ed;color:var(--color-type-orange)}.issue-card.type-yellow .issue-type-tag{background:#fefce8;color:#a16207}.issue-card.type-blue .issue-type-tag{background:#eff6ff;color:var(--color-type-blue)}.issue-card.type-purple .issue-type-tag{background:#faf5ff;color:var(--color-type-purple)}.issue-card.type-cyan .issue-type-tag{background:#f0fdfa;color:#0f766e}.issue-row{margin-bottom:10px}.issue-row:last-child{margin-bottom:0}.issue-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);display:block;margin-bottom:3px}.issue-value{font-size:14px;color:var(--color-text-primary);line-height:1.6;word-break:break-word}.issue-original{background:#f9fafb;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary)}.issue-original,.issue-suggestion{padding:10px 14px;font-size:14px;line-height:1.6;word-break:break-word}.issue-suggestion{background:var(--color-suggestion-bg);border:1px solid var(--color-suggestion-border);border-radius:var(--radius-sm);color:var(--color-suggestion-text);font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-tertiary)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;display:block;line-height:1}.empty-state .empty-text{font-size:15px;line-height:1.5}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:14px 18px;color:var(--color-type-red);font-size:14px;line-height:1.6;margin-bottom:16px}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}.footer{text-align:center;padding:40px 20px 0;font-size:13px;color:var(--color-text-tertiary)}@media (max-width:640px){.page-container{padding:28px 16px 60px}.header h1{font-size:22px}.header p{font-size:14px}.input-section{padding:16px}.input-row{flex-direction:column}.btn,.input-row input{width:100%}.issue-card{padding:16px}.issue-header{flex-direction:column;align-items:flex-start}}