.tool-page{padding:var(--spacing-lg) 0 var(--spacing-xxl)}.breadcrumb{font-size:var(--font-size-caption);color:var(--color-text-tertiary);margin-bottom:var(--spacing-md)}.breadcrumb a{color:var(--color-text-tertiary)}.breadcrumb a:hover{color:var(--color-primary)}.tool-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.tool-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.tool-info-icon{width:48px;height:48px;background:var(--color-primary-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.tool-info-name{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin-bottom:2px}.tool-info-desc{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.platform-switcher{display:flex;gap:var(--spacing-xs)}.switch-option{padding:6px 16px;border-radius:var(--radius-full);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-primary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);user-select:none}.switch-option:hover{border-color:var(--color-primary);color:var(--color-primary)}.switch-option.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.switch-option[data-platform=jd].active{background:var(--jd-color);border-color:var(--jd-color);color:#fff}.switch-option[data-platform=ali].active{background:var(--ali-color);border-color:var(--ali-color);color:#fff}.detection-badge{font-size:var(--font-size-caption);padding:1px 6px;border-radius:var(--radius-sm);background:#ffffff4d;margin-left:4px;display:none}.tool-body{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-lg);align-items:start}.input-panel,.output-panel{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);transition:border-color var(--transition-normal)}.panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md) 0}.panel-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.badge{font-size:var(--font-size-caption);color:var(--color-text-tertiary);background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-normal)}.input-controls{display:flex;gap:var(--spacing-xs);align-items:center}input[type=file]{display:none}.output-header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.checkbox-wrapper{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-small);color:var(--color-text-secondary);cursor:pointer;user-select:none;white-space:nowrap}.checkbox-wrapper input{width:14px;height:14px;accent-color:var(--color-primary);margin:0;cursor:pointer}.json-textarea{width:100%;min-height:240px;padding:var(--spacing-md);font-family:var(--font-family-mono);font-size:var(--font-size-small);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background:var(--color-bg-secondary);border:none;outline:none;resize:vertical;margin-top:var(--spacing-sm)}.json-textarea:focus{background:var(--color-bg-primary)}.json-textarea::placeholder{color:var(--color-text-tertiary)}.status-message{display:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-small);line-height:var(--line-height-normal)}.status-success{color:var(--color-success);display:block}.status-error{color:var(--color-error);display:block}.action-bar{padding:0 var(--spacing-md) var(--spacing-md)}.stats-bar{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);margin:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.stats-item{font-size:var(--font-size-small);color:var(--color-text-secondary)}.stats-item strong{font-size:var(--font-size-h3);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);margin-left:var(--spacing-xs)}.table-container{padding:0 var(--spacing-md) var(--spacing-md);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--font-size-small)}thead th{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border-light);white-space:nowrap}tbody td{padding:8px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}tbody tr:hover{background:var(--color-bg-secondary)}tr.filled-row{background:#fafafa}tr.filled-row:hover{background:#f5f5f5}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:8px 16px;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;line-height:1;white-space:nowrap;text-decoration:none}.btn-sm{padding:5px 12px;font-size:var(--font-size-caption)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-info{background:#409eff;color:#fff}.btn-info:hover{background:#66b1ff}.btn-success{background:#67c23a;color:#fff}.btn-success:hover{background:#85ce61}@media(max-width:900px){.tool-body{grid-template-columns:1fr}}@media(max-width:600px){.tool-info,.panel-header{flex-direction:column;align-items:flex-start}.output-header-right{flex-wrap:wrap}.stats-bar{flex-direction:column;gap:var(--spacing-sm)}}:root{--jd-color: #e4393c;--ali-color: #ff5000}.card.jd-active{border-color:var(--jd-color)}.card.ali-active{border-color:var(--ali-color)}
