.font-primary{font-family:var(--font-primary)}.font-mono{font-family:var(--font-mono)}.text-label{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}.text-heading{font-family:var(--font-primary);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.text-body{font-family:var(--font-primary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.btn{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);border:none;outline:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-input)}.btn-primary{background:var(--color-primary-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--color-btn-primary-hover);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border)}.btn-secondary:hover{background:var(--color-primary-opacity-8);border-color:var(--color-border-active)}.btn-icon{border-radius:var(--radius-lg);width:32px;height:32px;padding:0}.input{width:100%;padding:var(--space-5) var(--space-6);font-family:var(--font-primary);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-2xl);transition:border-color var(--transition-base), box-shadow var(--transition-base);outline:none}.input:focus{border-color:var(--color-input-border-focus);box-shadow:var(--shadow-input)}.input::placeholder{color:var(--color-text-muted)}.card{background:var(--color-card-bg);border:1.5px solid var(--color-card-border);border-radius:var(--radius-3xl);transition:all var(--transition-base);cursor:pointer;overflow:hidden}.card:hover{background:var(--color-card-bg-hover);border-color:var(--color-card-border-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);border-radius:var(--radius-sm);background:var(--color-badge-bg);backdrop-filter:blur(8px);display:inline-flex}.badge-platform{opacity:.4;border:1px solid}.badge-platform-ebay{color:var(--color-platform-ebay);background:var(--color-platform-ebay-bg);border-color:#e532384d}.badge-platform-depop{color:var(--color-platform-depop);background:var(--color-platform-depop-bg);border-color:#ff23004d}.badge-saving{color:var(--color-badge-saving-text);border:1px solid var(--color-badge-saving-border)}.badge-tag{color:var(--color-text-secondary);border:1px solid var(--color-border)}.filter-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-filter-text);background:var(--color-filter-bg);border:1.5px solid var(--color-filter-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.filter-btn:hover{background:var(--color-filter-bg-active)}.filter-btn.active,.filter-btn[data-active=true]{color:var(--color-filter-text-active);background:var(--color-filter-bg-active);border-color:var(--color-filter-border-active)}.score-bar{width:100%}.score-bar-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.score-bar-label{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-score-label);letter-spacing:var(--letter-spacing-wide)}.score-bar-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold)}.score-bar-suffix{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-score-suffix)}.score-bar-track{background:var(--color-score-bar-bg);border-radius:var(--radius-full);height:5px;overflow:hidden}.score-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-score)}.score-bar-fill.excellent{background:linear-gradient(90deg, var(--color-score-excellent), var(--color-score-excellent))}.score-bar-fill.good{background:linear-gradient(90deg, var(--color-score-good), var(--color-score-good))}.score-bar-fill.fair{background:linear-gradient(90deg, var(--color-score-fair), var(--color-score-fair))}.condition-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-condition-bg);border:1px solid var(--color-condition-border);border-radius:var(--radius-sm);display:inline-flex}.condition-dot{border-radius:50%;width:6px;height:6px}.condition-dot.excellent{background:var(--color-condition-excellent)}.condition-dot.very-good{background:var(--color-condition-very-good)}.condition-dot.good{background:var(--color-condition-good)}.condition-dot.fair{background:var(--color-condition-fair)}.condition-dot.poor{background:var(--color-condition-poor)}.condition-text{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-condition-text)}.message-bubble{max-width:78%;padding:var(--space-5) var(--space-6);font-family:var(--font-primary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.message-bubble-user{background:var(--color-msg-user-bg);border:1px solid var(--color-msg-user-border);border-radius:var(--radius-3xl) var(--radius-3xl) var(--radius-xs) var(--radius-3xl);color:var(--color-text-secondary)}.message-bubble-assistant{background:var(--color-msg-assistant-bg);border:1px solid var(--color-msg-assistant-border);border-radius:var(--radius-3xl) var(--radius-3xl) var(--radius-3xl) var(--radius-xs);color:var(--color-text-secondary)}.message-bubble-result{background:var(--color-msg-result-bg);border:1px solid var(--color-msg-result-border);border-radius:var(--radius-3xl) var(--radius-3xl) var(--radius-3xl) var(--radius-xs);color:var(--color-msg-result-text);font-weight:var(--font-weight-medium)}.banner{align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-8);border-radius:var(--radius-xl);display:flex}.banner-success{background:var(--color-banner-success-bg);border:1.5px solid var(--color-banner-success-border)}.banner-success-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:12.5px}.banner-success-highlight{color:var(--color-banner-success-text);font-weight:var(--font-weight-bold)}.info-box{align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-8);background:var(--color-info-bg);border:1.5px solid var(--color-info-border);border-radius:var(--radius-2xl);display:flex}.info-box-icon{flex-shrink:0;font-size:18px}.info-box-text{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-loose);color:var(--color-info-text)}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-start{align-items:flex-start;display:flex}.flex-col{flex-direction:column;display:flex}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.focus-ring:focus-visible{box-shadow:var(--shadow-input);outline:none}.backdrop-blur-sm{backdrop-filter:blur(8px)}.backdrop-blur-md{backdrop-filter:blur(12px)}